ITOBEN STYLE > その他 > 「ご注文手続き」画面から遷移せずに熨斗を選択・登録できるようにする 2025年1月14日カテゴリー: その他 「ご注文手続き」画面から遷移せずに熨斗を選択・登録できるようにする 「熨斗(のし)を商品別で指定するプラグイン」の、他プラグインとの競合対応です。 AmazonPayを利用している場合、支払方法でAmazonPayを選択後に熨斗を登録すると、支払方法が銀行振込等に変わってしまうという報告を頂きました。 このような現象が起きてしまう場合は、「ご注文手続き」画面から遷移せずに熨斗を選択・登録する方法で対応してください。 ・登録ボタンをクリックするとお問い合わせ欄に熨斗の希望が自動入力されます。 ・必要に応じて、お問い合わせ欄を修正します。 ・熨斗のみをご希望の場合は、「指定なし」「空欄」のまま登録します。 ・カートを変更すると、お問い合わせ欄の入力は削除されます。 1 2つのファイルを修正します。 (1)EC-CUBE4.0・4.1対応「熨斗(のし)を商品別で指定するプラグイン」 ① app/Plugin/Noshi/NoshiEvent.php ② app/Plugin/Noshi/Resource/template/default/shopping_index.twig (2)EC-CUBE4.2・4.3対応「熨斗(のし)を商品別で指定するプラグイン4.2」 ① app/Plugin/Noshiproduct/NoshiEvent.php ② app/Plugin/Noshiproduct/Resource/template/default/shopping_index.twig 2 ファイルのダウンロード EC-CUBEのバージョンに合ったファイルをダウンロードしてください。 ファイルの上書き、または、下記の修正箇所を編集してください。 上書き、または編集後、管理画面でキャッシュ削除を行って下さい。 (1)EC-CUBE4.0・4.1対応「熨斗(のし)を商品別で指定するプラグイン」 Noshi.zip (2)EC-CUBE4.2・4.3対応「熨斗(のし)を商品別で指定するプラグイン4.2」 Noshiproduct.zip 3 修正後に必ず行うこと (1)メールテンプレートに記述した読込コードを削除する。 EC-CUBE4.0・4.1対応「熨斗(のし)を商品別で指定するプラグイン」 4.0-4.1_mailtemplate_code.txt EC-CUBE4.2・4.3対応「熨斗(のし)を商品別で指定するプラグイン4.2」 4.2-4.3_mailtemplate_code.txt (2)プラグイン設定のコメントを変更する。 【例】 ・登録ボタンをクリックするとお問い合わせ欄に熨斗の希望が自動入力されます。 ・必要に応じて、お問い合わせ欄を修正してください。 ・熨斗のみをご希望の場合は、「指定なし」「空欄」のまま登録してください。 ・カートを変更すると、お問い合わせ欄の入力は削除されます。 4 修正後の画面 (1)「ご注文手続き」画面 ① お問い合わせ欄の上に「熨斗のご希望」エリアが挿入されます。 ② 「熨斗を追加する」ボタンは非表示になります。 ③ 「お問い合わせの入力内容をクリアする」ボタンが追加されます。 「熨斗を追加する」ボタンは非表示 (2)登録ボタンをクリックするとお問い合わせ欄に熨斗の希望が自動入力されます。 選択なしでボタンをクリックした場合は、次のようになります。 のしの種類:指定なし 表書き(上段):指定なし お名前(下段):空欄 (3)「管理画面の受注管理」画面 (4)不要部分を非表示 ① 「ご注文内容のご確認」画面 ② 「マイページのご注文履歴」画面 ③ 「管理画面の受注管理」画面 5 ファイルの修正内容 (1)EC-CUBE4.0・4.1対応「熨斗(のし)を商品別で指定するプラグイン」 ① app/Plugin/Noshi/NoshiEvent.php 不要部分のコメントアウト 56行目付近 // ▼熨斗選択をご注文手続き画面に表示する 以下3行をコメントアウト // 'Shopping/confirm.twig' => 'confirm', // 'Mypage/history.twig' => 'history', // '@admin/Order/edit.twig' => 'onAdminOrderEdit', 1234 // ▼熨斗選択をご注文手続き画面に表示する 以下3行をコメントアウト// 'Shopping/confirm.twig' => 'confirm',// 'Mypage/history.twig' => 'history',// '@admin/Order/edit.twig' => 'onAdminOrderEdit', ② app/Plugin/Noshi/Resource/template/default/shopping_index.twig CSSを追加 29行目付近 /* ▼熨斗選択をご注文手続き画面に表示する ① */ #noshi_add { display:none; /* 「熨斗を追加する」ボタンを非表示 */ } .ec-imageGrid.noshi { padding:10px 0; } .otodokesaki, .noshi .product_name, .noshi .product_class_name { font-weight:bold; } .noshi label { font-weight:normal; } .noshiButton { text-align:center; } #clear_ec-orderConfirm { display:inline-block; margin-top:15px; } /* ▲ここまで */ 1234567891011121314151617181920212223 /* ▼熨斗選択をご注文手続き画面に表示する ① */#noshi_add {display:none; /* 「熨斗を追加する」ボタンを非表示 */}.ec-imageGrid.noshi {padding:10px 0;}.otodokesaki,.noshi .product_name,.noshi .product_class_name {font-weight:bold;}.noshi label {font-weight:normal;}.noshiButton {text-align:center;}#clear_ec-orderConfirm {display:inline-block;margin-top:15px;}/* ▲ここまで */ scriptを変更 71行目付近 // ▼熨斗選択をご注文手続き画面に表示する ② // $('#noshi_area').appendTo($('div.ec-orderRole__detail')); ここをコメントアウトして以下を追加 $('#noshi_area').insertBefore($('div.ec-orderConfirm')); 123 // ▼熨斗選択をご注文手続き画面に表示する ②// $('#noshi_area').appendTo($('div.ec-orderRole__detail')); ここをコメントアウトして以下を追加$('#noshi_area').insertBefore($('div.ec-orderConfirm')); 表示箇所を追加 86行目付近 {# ▼熨斗選択をご注文手続き画面に表示する ③ #} {% for shipping in Order.shippings %} {% set parent = loop.index %} <p class="otodokesaki">■お届け先:{{ ''|trans }}{{ shipping.name01 }} {{ shipping.name02 }}{{ ' 様'|trans }}</p> {% for orderItem in shipping.productOrderItems %} <div class="ec-imageGrid noshi"> <div class="ec-imageGrid__img"><img src="{{ asset((orderItem.product is null ? null : orderItem.product.MainListImage)|no_image_product, 'save_image') }}" alt="{{ orderItem.productName }}"></div> <div class="ec-imageGrid__content"> <p class="product_name">{{ orderItem.productName }}{% if is_reduced_tax_rate(orderItem) %}{{ '※'|trans }}{% set isShowReducedTaxMess = true %}{% endif %}</p> {% if orderItem.productClass is not null and orderItem.productClass.classCategory1 %} <p class="product_class_name">{{ orderItem.productClass.classCategory1.className.name }}:{{ orderItem.productClass.classCategory1 }}</p> {% endif %} {% if orderItem.productClass is not null and orderItem.productClass.classCategory2 %} <p class="product_class_name">{{ orderItem.productClass.classCategory2.className.name }}:{{ orderItem.productClass.classCategory2 }}</p> {% endif %} <div class="noshi form-horizontal"> {% if ConfigNoshi.paper_kind %} <div class="form-group"> <label class="col-sm-3 control-label" for="noshi_NoshiKind">{{ 'のしの種類'|trans }}</label> <div class="col-sm-9"> <select id="noshi_NoshiKind{{ parent }}{{ loop.index }}" name="noshi[NoshiKind]" class="form-control"> <option value="指定なし">{{ '指定なし'|trans }}</option> {% set NoshiKinds = repository('Plugin\\Noshi\\Entity\\NoshiKind').getList %} {% for NoshiKind in NoshiKinds %} <option value="{{ NoshiKind.name }}">{{ NoshiKind.name }}</option> {% endfor %} </select> </div> </div> {% endif %} {% if ConfigNoshi.paper_tie %} <div class="form-group"> <label class="col-sm-3 control-label" for="noshi_NoshiTie">{{ '表書き(上段)'|trans }}</label> <div class="col-sm-9"> <select id="noshi_NoshiTie{{ parent }}{{ loop.index }}" name="noshi[NoshiTie]" class="form-control"> <option value="指定なし">{{ '指定なし'|trans }}</option> {% set NoshiTies = repository('Plugin\\Noshi\\Entity\\NoshiTie').getList %} {% for NoshiTie in NoshiTies %} <option value="{{ NoshiTie.name }}">{{ NoshiTie.name }}</option> {% endfor %} </select> </div> </div> {% endif %} {% if ConfigNoshi.paper_name %} <div class="form-group"> <label class="col-sm-3 control-label" for="noshi_name">{{ 'お名前(下段)'|trans }}</label> <div class="col-sm-9"> <input type="text" class="form-control" id="noshi_name{{ parent }}{{ loop.index }}"> </div> </div> {% endif %} <div class="noshiButton"> <span class="ec-inlineBtn--action" id="noshiButton{{ parent }}{{ loop.index }}">{{ '登録(お問い合わせ欄に入力されます)'|trans }}</span> </div> </div> </div> </div> <script> $(function () { $("#noshiButton{{ parent }}{{ loop.index }}").click( function() { // 追記するデータを定義しておきます var addText1 = "■お届け先:{{ shipping.name01 }} {{ shipping.name02 }}様【のしを希望する】\n{{ orderItem.productName }}" {% if orderItem.productClass is not null and orderItem.productClass.classCategory1 %}+" [{{ orderItem.productClass.classCategory1 }}]"{% endif %} {% if orderItem.productClass is not null and orderItem.productClass.classCategory2 %}+"[{{ orderItem.productClass.classCategory2 }}]"{% endif %} + "({{ orderItem.quantity|number_format }}点)" + "\n" {% if ConfigNoshi.paper_kind %}+ "のしの種類:" + $("select#noshi_NoshiKind{{ parent }}{{ loop.index }}").val() + "\n"{% endif %} {% if ConfigNoshi.paper_tie %}+ "表書き(上段):" + $("select#noshi_NoshiTie{{ parent }}{{ loop.index }}").val() + "\n"{% endif %} ; {% if ConfigNoshi.paper_name %} if (document.getElementById('noshi_name{{ parent }}{{ loop.index }}').value == "") { var addText2 = "お名前(下段):空欄\n\n"; } else { var addText2 = "お名前(下段):" + $("#noshi_name{{ parent }}{{ loop.index }}").val() + "\n\n"; } {% endif %} // テキストボックスのデータを取得します var getData = String($(".ec-orderConfirm textarea").val()); // 取得データと追記文言をくっつけて出力します {% if ConfigNoshi.paper_name %} $(".ec-orderConfirm textarea").val( getData + addText1 + addText2 ); {% else %} $(".ec-orderConfirm textarea").val( getData + addText1 ); {% endif %} }); }); </script> {% endfor %} {% endfor %} <script> $(function(){ $("#clear_ec-orderConfirm").click(function(){ $(".ec-orderConfirm textarea").val(""); }); }); </script> <div id="clear_ec-orderConfirm" class="ec-inlineBtn--cancel">お問い合わせの入力内容をクリアする</div> {# ▲ここまで #} 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 {# ▼熨斗選択をご注文手続き画面に表示する ③ #}{% for shipping in Order.shippings %} {% set parent = loop.index %}<p class="otodokesaki">■お届け先:{{ ''|trans }}{{ shipping.name01 }} {{ shipping.name02 }}{{ ' 様'|trans }}</p>{% for orderItem in shipping.productOrderItems %}<div class="ec-imageGrid noshi"><div class="ec-imageGrid__img"><img src="{{ asset((orderItem.product is null ? null : orderItem.product.MainListImage)|no_image_product, 'save_image') }}" alt="{{ orderItem.productName }}"></div><div class="ec-imageGrid__content"><p class="product_name">{{ orderItem.productName }}{% if is_reduced_tax_rate(orderItem) %}{{ '※'|trans }}{% set isShowReducedTaxMess = true %}{% endif %}</p>{% if orderItem.productClass is not null and orderItem.productClass.classCategory1 %}<p class="product_class_name">{{ orderItem.productClass.classCategory1.className.name }}:{{ orderItem.productClass.classCategory1 }}</p>{% endif %}{% if orderItem.productClass is not null and orderItem.productClass.classCategory2 %}<p class="product_class_name">{{ orderItem.productClass.classCategory2.className.name }}:{{ orderItem.productClass.classCategory2 }}</p>{% endif %}<div class="noshi form-horizontal"> {% if ConfigNoshi.paper_kind %} <div class="form-group"> <label class="col-sm-3 control-label" for="noshi_NoshiKind">{{ 'のしの種類'|trans }}</label> <div class="col-sm-9"> <select id="noshi_NoshiKind{{ parent }}{{ loop.index }}" name="noshi[NoshiKind]" class="form-control"> <option value="指定なし">{{ '指定なし'|trans }}</option> {% set NoshiKinds = repository('Plugin\\Noshi\\Entity\\NoshiKind').getList %} {% for NoshiKind in NoshiKinds %} <option value="{{ NoshiKind.name }}">{{ NoshiKind.name }}</option> {% endfor %} </select> </div> </div> {% endif %} {% if ConfigNoshi.paper_tie %} <div class="form-group"> <label class="col-sm-3 control-label" for="noshi_NoshiTie">{{ '表書き(上段)'|trans }}</label> <div class="col-sm-9"> <select id="noshi_NoshiTie{{ parent }}{{ loop.index }}" name="noshi[NoshiTie]" class="form-control"> <option value="指定なし">{{ '指定なし'|trans }}</option> {% set NoshiTies = repository('Plugin\\Noshi\\Entity\\NoshiTie').getList %} {% for NoshiTie in NoshiTies %} <option value="{{ NoshiTie.name }}">{{ NoshiTie.name }}</option> {% endfor %} </select> </div> </div> {% endif %} {% if ConfigNoshi.paper_name %} <div class="form-group"> <label class="col-sm-3 control-label" for="noshi_name">{{ 'お名前(下段)'|trans }}</label> <div class="col-sm-9"> <input type="text" class="form-control" id="noshi_name{{ parent }}{{ loop.index }}"> </div> </div> {% endif %} <div class="noshiButton"> <span class="ec-inlineBtn--action" id="noshiButton{{ parent }}{{ loop.index }}">{{ '登録(お問い合わせ欄に入力されます)'|trans }}</span> </div></div> </div></div><script>$(function () {$("#noshiButton{{ parent }}{{ loop.index }}").click( function() {// 追記するデータを定義しておきますvar addText1 = "■お届け先:{{ shipping.name01 }} {{ shipping.name02 }}様【のしを希望する】\n{{ orderItem.productName }}"{% if orderItem.productClass is not null and orderItem.productClass.classCategory1 %}+" [{{ orderItem.productClass.classCategory1 }}]"{% endif %}{% if orderItem.productClass is not null and orderItem.productClass.classCategory2 %}+"[{{ orderItem.productClass.classCategory2 }}]"{% endif %}+ "({{ orderItem.quantity|number_format }}点)" + "\n"{% if ConfigNoshi.paper_kind %}+ "のしの種類:" + $("select#noshi_NoshiKind{{ parent }}{{ loop.index }}").val() + "\n"{% endif %}{% if ConfigNoshi.paper_tie %}+ "表書き(上段):" + $("select#noshi_NoshiTie{{ parent }}{{ loop.index }}").val() + "\n"{% endif %};{% if ConfigNoshi.paper_name %}if (document.getElementById('noshi_name{{ parent }}{{ loop.index }}').value == "") {var addText2 = "お名前(下段):空欄\n\n";} else {var addText2 = "お名前(下段):" + $("#noshi_name{{ parent }}{{ loop.index }}").val() + "\n\n";}{% endif %}// テキストボックスのデータを取得しますvar getData = String($(".ec-orderConfirm textarea").val());// 取得データと追記文言をくっつけて出力します{% if ConfigNoshi.paper_name %}$(".ec-orderConfirm textarea").val( getData + addText1 + addText2 );{% else %}$(".ec-orderConfirm textarea").val( getData + addText1 );{% endif %}});});</script>{% endfor %}{% endfor %}<script> $(function(){ $("#clear_ec-orderConfirm").click(function(){ $(".ec-orderConfirm textarea").val(""); }); }); </script> <div id="clear_ec-orderConfirm" class="ec-inlineBtn--cancel">お問い合わせの入力内容をクリアする</div> {# ▲ここまで #} (2)EC-CUBE4.2・4.3対応「熨斗(のし)を商品別で指定するプラグイン4.2」 ① app/Plugin/Noshiproduct/NoshiEvent.php 不要部分のコメントアウト 56行目付近 // ▼熨斗選択をご注文手続き画面に表示する 以下3行をコメントアウト // 'Shopping/confirm.twig' => 'confirm', // 'Mypage/history.twig' => 'history', // '@admin/Order/edit.twig' => 'onAdminOrderEdit', 1234 // ▼熨斗選択をご注文手続き画面に表示する 以下3行をコメントアウト// 'Shopping/confirm.twig' => 'confirm',// 'Mypage/history.twig' => 'history',// '@admin/Order/edit.twig' => 'onAdminOrderEdit', ② app/Plugin/Noshiproduct/Resource/template/default/shopping_index.twig CSSの追加 29行目付近 /* ▼熨斗選択をご注文手続き画面に表示する ① */ #noshiproduct_add { display:none; /* 「熨斗を追加する」ボタンを非表示 */ } .ec-imageGrid.noshi { padding:10px 0; } .otodokesaki, .noshi .product_name, .noshi .product_class_name { font-weight:bold; } .noshi label { font-weight:normal; } .noshiButton { text-align:center; } #clear_ec-orderConfirm { display:inline-block; margin-top:15px; } /* ▲ここまで */ 1234567891011121314151617181920212223 /* ▼熨斗選択をご注文手続き画面に表示する ① */#noshiproduct_add {display:none; /* 「熨斗を追加する」ボタンを非表示 */}.ec-imageGrid.noshi {padding:10px 0;}.otodokesaki,.noshi .product_name,.noshi .product_class_name {font-weight:bold;}.noshi label {font-weight:normal;}.noshiButton {text-align:center;}#clear_ec-orderConfirm {display:inline-block;margin-top:15px;}/* ▲ここまで */ scriptの変更 71行目付近 // ▼熨斗選択をご注文手続き画面に表示する ② // $('#noshiproduct_area').appendTo($('div.ec-orderRole__detail')); ここをコメントアウトして以下を追加 $('#noshiproduct_area').insertBefore($('div.ec-orderConfirm')); 123 // ▼熨斗選択をご注文手続き画面に表示する ②// $('#noshiproduct_area').appendTo($('div.ec-orderRole__detail')); ここをコメントアウトして以下を追加$('#noshiproduct_area').insertBefore($('div.ec-orderConfirm')); 表示箇所を追加 86行目付近 {# ▼熨斗選択をご注文手続き画面に表示する ③ #} {% for shipping in Order.shippings %} {% set parent = loop.index %} <p class="otodokesaki">■お届け先:{{ ''|trans }}{{ shipping.name01 }} {{ shipping.name02 }}{{ ' 様'|trans }}</p> {% for orderItem in shipping.productOrderItems %} <div class="ec-imageGrid noshi"> <div class="ec-imageGrid__img"><img src="{{ asset((orderItem.product is null ? null : orderItem.product.MainListImage)|no_image_product, 'save_image') }}" alt="{{ orderItem.productName }}"></div> <div class="ec-imageGrid__content"> <p class="product_name">{{ orderItem.productName }}{% if is_reduced_tax_rate(orderItem) %}{{ '※'|trans }}{% set isShowReducedTaxMess = true %}{% endif %}</p> {% if orderItem.productClass is not null and orderItem.productClass.classCategory1 %} <p class="product_class_name">{{ orderItem.productClass.classCategory1.className.name }}:{{ orderItem.productClass.classCategory1 }}</p> {% endif %} {% if orderItem.productClass is not null and orderItem.productClass.classCategory2 %} <p class="product_class_name">{{ orderItem.productClass.classCategory2.className.name }}:{{ orderItem.productClass.classCategory2 }}</p> {% endif %} <div class="noshi"> {% if ConfigNoshiproduct.paper_kind %} <div class="row mb-2"> <label class="col-sm-3 col-form-label" for="noshi_NoshiKind">{{ 'のしの種類'|trans }}</label> <div class="col-sm-9"> <select id="noshi_NoshiKind{{ parent }}{{ loop.index }}" name="noshi[NoshiKind]" class="form-control"> <option value="指定なし">{{ '指定なし'|trans }}</option> {% set NoshiKinds = repository('Plugin\\Noshiproduct\\Entity\\NoshiproductKind').getListOrderByIdDesc %} {% for NoshiKind in NoshiKinds %} <option value="{{ NoshiKind.name }}">{{ NoshiKind.name }}</option> {% endfor %} </select> </div> </div> {% endif %} {% if ConfigNoshiproduct.paper_tie %} <div class="row mb-2"> <label class="col-sm-3 col-form-label" for="noshi_NoshiTie">{{ '表書き(上段)'|trans }}</label> <div class="col-sm-9"> <select id="noshi_NoshiTie{{ parent }}{{ loop.index }}" name="noshi[NoshiTie]" class="form-control"> <option value="指定なし">{{ '指定なし'|trans }}</option> {% set NoshiTies = repository('Plugin\\Noshiproduct\\Entity\\NoshiproductTie').getListOrderByIdDesc %} {% for NoshiTie in NoshiTies %} <option value="{{ NoshiTie.name }}">{{ NoshiTie.name }}</option> {% endfor %} </select> </div> </div> {% endif %} {% if ConfigNoshiproduct.paper_name %} <div class="row mb-2"> <label class="col-sm-3 col-form-label" for="noshi_name">{{ 'お名前(下段)'|trans }}</label> <div class="col-sm-9"> <input type="text" class="form-control" id="noshi_name{{ parent }}{{ loop.index }}"> </div> </div> {% endif %} <div class="noshiButton"> <span class="ec-inlineBtn--action" id="noshiButton{{ parent }}{{ loop.index }}">{{ '登録(お問い合わせ欄に入力されます)'|trans }}</span> </div> </div> </div> </div> <script> $(function () { $("#noshiButton{{ parent }}{{ loop.index }}").click( function() { // 追記するデータを定義しておきます var addText1 = "■お届け先:{{ shipping.name01 }} {{ shipping.name02 }}様【のしを希望する】\n{{ orderItem.productName }}" {% if orderItem.productClass is not null and orderItem.productClass.classCategory1 %}+" [{{ orderItem.productClass.classCategory1 }}]"{% endif %} {% if orderItem.productClass is not null and orderItem.productClass.classCategory2 %}+"[{{ orderItem.productClass.classCategory2 }}]"{% endif %} + "({{ orderItem.quantity|number_format }}点)" + "\n" {% if ConfigNoshiproduct.paper_kind %}+ "のしの種類:" + $("select#noshi_NoshiKind{{ parent }}{{ loop.index }}").val() + "\n"{% endif %} {% if ConfigNoshiproduct.paper_tie %}+ "表書き(上段):" + $("select#noshi_NoshiTie{{ parent }}{{ loop.index }}").val() + "\n"{% endif %} ; {% if ConfigNoshiproduct.paper_name %} if (document.getElementById('noshi_name{{ parent }}{{ loop.index }}').value == "") { var addText2 = "お名前(下段):空欄\n\n"; } else { var addText2 = "お名前(下段):" + $("#noshi_name{{ parent }}{{ loop.index }}").val() + "\n\n"; } {% endif %} // テキストボックスのデータを取得します var getData = String($(".ec-orderConfirm textarea").val()); // 取得データと追記文言をくっつけて出力します {% if ConfigNoshiproduct.paper_name %} $(".ec-orderConfirm textarea").val( getData + addText1 + addText2 ); {% else %} $(".ec-orderConfirm textarea").val( getData + addText1 ); {% endif %} }); }); </script> {% endfor %} {% endfor %} <script> $(function(){ $("#clear_ec-orderConfirm").click(function(){ $(".ec-orderConfirm textarea").val(""); }); }); </script> <div id="clear_ec-orderConfirm" class="ec-inlineBtn--cancel">お問い合わせの入力内容をクリアする</div> {# ▲ここまで #} 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 {# ▼熨斗選択をご注文手続き画面に表示する ③ #}{% for shipping in Order.shippings %} {% set parent = loop.index %}<p class="otodokesaki">■お届け先:{{ ''|trans }}{{ shipping.name01 }} {{ shipping.name02 }}{{ ' 様'|trans }}</p>{% for orderItem in shipping.productOrderItems %}<div class="ec-imageGrid noshi"><div class="ec-imageGrid__img"><img src="{{ asset((orderItem.product is null ? null : orderItem.product.MainListImage)|no_image_product, 'save_image') }}" alt="{{ orderItem.productName }}"></div><div class="ec-imageGrid__content"><p class="product_name">{{ orderItem.productName }}{% if is_reduced_tax_rate(orderItem) %}{{ '※'|trans }}{% set isShowReducedTaxMess = true %}{% endif %}</p>{% if orderItem.productClass is not null and orderItem.productClass.classCategory1 %}<p class="product_class_name">{{ orderItem.productClass.classCategory1.className.name }}:{{ orderItem.productClass.classCategory1 }}</p>{% endif %}{% if orderItem.productClass is not null and orderItem.productClass.classCategory2 %}<p class="product_class_name">{{ orderItem.productClass.classCategory2.className.name }}:{{ orderItem.productClass.classCategory2 }}</p>{% endif %}<div class="noshi"> {% if ConfigNoshiproduct.paper_kind %} <div class="row mb-2"> <label class="col-sm-3 col-form-label" for="noshi_NoshiKind">{{ 'のしの種類'|trans }}</label> <div class="col-sm-9"> <select id="noshi_NoshiKind{{ parent }}{{ loop.index }}" name="noshi[NoshiKind]" class="form-control"> <option value="指定なし">{{ '指定なし'|trans }}</option> {% set NoshiKinds = repository('Plugin\\Noshiproduct\\Entity\\NoshiproductKind').getListOrderByIdDesc %} {% for NoshiKind in NoshiKinds %} <option value="{{ NoshiKind.name }}">{{ NoshiKind.name }}</option> {% endfor %} </select> </div> </div> {% endif %} {% if ConfigNoshiproduct.paper_tie %} <div class="row mb-2"> <label class="col-sm-3 col-form-label" for="noshi_NoshiTie">{{ '表書き(上段)'|trans }}</label> <div class="col-sm-9"> <select id="noshi_NoshiTie{{ parent }}{{ loop.index }}" name="noshi[NoshiTie]" class="form-control"> <option value="指定なし">{{ '指定なし'|trans }}</option> {% set NoshiTies = repository('Plugin\\Noshiproduct\\Entity\\NoshiproductTie').getListOrderByIdDesc %} {% for NoshiTie in NoshiTies %} <option value="{{ NoshiTie.name }}">{{ NoshiTie.name }}</option> {% endfor %} </select> </div> </div> {% endif %} {% if ConfigNoshiproduct.paper_name %} <div class="row mb-2"> <label class="col-sm-3 col-form-label" for="noshi_name">{{ 'お名前(下段)'|trans }}</label> <div class="col-sm-9"> <input type="text" class="form-control" id="noshi_name{{ parent }}{{ loop.index }}"> </div> </div> {% endif %} <div class="noshiButton"> <span class="ec-inlineBtn--action" id="noshiButton{{ parent }}{{ loop.index }}">{{ '登録(お問い合わせ欄に入力されます)'|trans }}</span> </div></div> </div></div><script>$(function () {$("#noshiButton{{ parent }}{{ loop.index }}").click( function() {// 追記するデータを定義しておきますvar addText1 = "■お届け先:{{ shipping.name01 }} {{ shipping.name02 }}様【のしを希望する】\n{{ orderItem.productName }}"{% if orderItem.productClass is not null and orderItem.productClass.classCategory1 %}+" [{{ orderItem.productClass.classCategory1 }}]"{% endif %}{% if orderItem.productClass is not null and orderItem.productClass.classCategory2 %}+"[{{ orderItem.productClass.classCategory2 }}]"{% endif %}+ "({{ orderItem.quantity|number_format }}点)" + "\n"{% if ConfigNoshiproduct.paper_kind %}+ "のしの種類:" + $("select#noshi_NoshiKind{{ parent }}{{ loop.index }}").val() + "\n"{% endif %}{% if ConfigNoshiproduct.paper_tie %}+ "表書き(上段):" + $("select#noshi_NoshiTie{{ parent }}{{ loop.index }}").val() + "\n"{% endif %};{% if ConfigNoshiproduct.paper_name %}if (document.getElementById('noshi_name{{ parent }}{{ loop.index }}').value == "") {var addText2 = "お名前(下段):空欄\n\n";} else {var addText2 = "お名前(下段):" + $("#noshi_name{{ parent }}{{ loop.index }}").val() + "\n\n";}{% endif %}// テキストボックスのデータを取得しますvar getData = String($(".ec-orderConfirm textarea").val());// 取得データと追記文言をくっつけて出力します{% if ConfigNoshiproduct.paper_name %}$(".ec-orderConfirm textarea").val( getData + addText1 + addText2 );{% else %}$(".ec-orderConfirm textarea").val( getData + addText1 );{% endif %}});});</script>{% endfor %}{% endfor %}<script> $(function(){ $("#clear_ec-orderConfirm").click(function(){ $(".ec-orderConfirm textarea").val(""); }); }); </script> <div id="clear_ec-orderConfirm" class="ec-inlineBtn--cancel">お問い合わせの入力内容をクリアする</div> {# ▲ここまで #}
「熨斗(のし)を商品別で指定するプラグイン」の、他プラグインとの競合対応です。
AmazonPayを利用している場合、支払方法でAmazonPayを選択後に熨斗を登録すると、支払方法が銀行振込等に変わってしまうという報告を頂きました。
このような現象が起きてしまう場合は、「ご注文手続き」画面から遷移せずに熨斗を選択・登録する方法で対応してください。
・登録ボタンをクリックするとお問い合わせ欄に熨斗の希望が自動入力されます。
・必要に応じて、お問い合わせ欄を修正します。
・熨斗のみをご希望の場合は、「指定なし」「空欄」のまま登録します。
・カートを変更すると、お問い合わせ欄の入力は削除されます。
1 2つのファイルを修正します。
(1)EC-CUBE4.0・4.1対応「熨斗(のし)を商品別で指定するプラグイン」
① app/Plugin/Noshi/NoshiEvent.php
② app/Plugin/Noshi/Resource/template/default/shopping_index.twig
(2)EC-CUBE4.2・4.3対応「熨斗(のし)を商品別で指定するプラグイン4.2」
① app/Plugin/Noshiproduct/NoshiEvent.php
② app/Plugin/Noshiproduct/Resource/template/default/shopping_index.twig
2 ファイルのダウンロード
EC-CUBEのバージョンに合ったファイルをダウンロードしてください。
ファイルの上書き、または、下記の修正箇所を編集してください。
上書き、または編集後、管理画面でキャッシュ削除を行って下さい。
(1)EC-CUBE4.0・4.1対応「熨斗(のし)を商品別で指定するプラグイン」
Noshi.zip
(2)EC-CUBE4.2・4.3対応「熨斗(のし)を商品別で指定するプラグイン4.2」
Noshiproduct.zip
3 修正後に必ず行うこと
(1)メールテンプレートに記述した読込コードを削除する。
EC-CUBE4.0・4.1対応「熨斗(のし)を商品別で指定するプラグイン」
4.0-4.1_mailtemplate_code.txt
EC-CUBE4.2・4.3対応「熨斗(のし)を商品別で指定するプラグイン4.2」
4.2-4.3_mailtemplate_code.txt
(2)プラグイン設定のコメントを変更する。
【例】
・登録ボタンをクリックするとお問い合わせ欄に熨斗の希望が自動入力されます。
・必要に応じて、お問い合わせ欄を修正してください。
・熨斗のみをご希望の場合は、「指定なし」「空欄」のまま登録してください。
・カートを変更すると、お問い合わせ欄の入力は削除されます。
4 修正後の画面
(1)「ご注文手続き」画面
① お問い合わせ欄の上に「熨斗のご希望」エリアが挿入されます。
② 「熨斗を追加する」ボタンは非表示になります。
③ 「お問い合わせの入力内容をクリアする」ボタンが追加されます。
「熨斗を追加する」ボタンは非表示
(2)登録ボタンをクリックするとお問い合わせ欄に熨斗の希望が自動入力されます。
選択なしでボタンをクリックした場合は、次のようになります。
のしの種類:指定なし
表書き(上段):指定なし
お名前(下段):空欄
(3)「管理画面の受注管理」画面
(4)不要部分を非表示
① 「ご注文内容のご確認」画面
② 「マイページのご注文履歴」画面
③ 「管理画面の受注管理」画面
5 ファイルの修正内容
(1)EC-CUBE4.0・4.1対応「熨斗(のし)を商品別で指定するプラグイン」
① app/Plugin/Noshi/NoshiEvent.php
不要部分のコメントアウト 56行目付近
② app/Plugin/Noshi/Resource/template/default/shopping_index.twig
CSSを追加 29行目付近
scriptを変更 71行目付近
表示箇所を追加 86行目付近
(2)EC-CUBE4.2・4.3対応「熨斗(のし)を商品別で指定するプラグイン4.2」
① app/Plugin/Noshiproduct/NoshiEvent.php
不要部分のコメントアウト 56行目付近
② app/Plugin/Noshiproduct/Resource/template/default/shopping_index.twig
CSSの追加 29行目付近
scriptの変更 71行目付近
表示箇所を追加 86行目付近