ニーズは局地的かもしらん
商品の複数箇所に同様の選択肢をもたせる場合、規格の選択内容だけ表示させても、それはどれのことなんだよってなったりする。商品を登録するときは規格名出てるのに、なんでメールにはそれがないんだよっていう。
カスタマイズ
注文時の自動送信メールを変えたいので、
/src/Eccube/Resource/template/default/Mail/order.twig
これをいじる。
テスト環境ではappに移したらなんでかバグったんで、不本意ながら直接編集した。
商品名: {{ OrderDetail.product_name }} {{ OrderDetail.classcategory_name1 }} {{ OrderDetail.classcategory_name2 }}
これを
商品名: {{ OrderDetail.product_name }}{% if OrderDetail.classcategory_name1 is not empty %} {{ OrderDetail.class_name1 }} : {{ OrderDetail.classcategory_name1 }}{% endif %}{% if OrderDetail.classcategory_name2 is not empty %} / {{ OrderDetail.class_name2 }} : {{ OrderDetail.classcategory_name2 }}{% endif %}
こうする。
商品名: {{ ShipmentItem.product_name }} {{ ShipmentItem.classcategory_name1 }} {{ ShipmentItem.classcategory_name2 }}
これも
商品名: {{ ShipmentItem.product_name }}{% if ShipmentItem.classcategory_name1 is not empty %} {{ ShipmentItem.class_name1 }} : {{ ShipmentItem.classcategory_name1 }}{% endif %}{% if ShipmentItem.classcategory_name2 is not empty %} / {{ ShipmentItem.class_name2 }} : {{ ShipmentItem.classcategory_name2 }}{% endif %}
こうする。
おしまい。
おまけ(帳票出力)
帳票出力でもおなじ。
/app/Plugin/OrderPdf/Service/OrderPdfService.php
ここで
$classCategory .= ' [ '.$OrderDetail->getClassCategoryName1();
これを
$classCategory .= ' [ '.$OrderDetail->getClassName1().':'.$OrderDetail->getClassCategoryName1();
こうして
$classCategory .= ' * '.$OrderDetail->getClassCategoryName2().' ]';
これを
$classCategory .= ' * '.$OrderDetail->getClassName2().':'.$OrderDetail->getClassCategoryName2().' ]';
こんな感じにする。
更におまけ
商品選択項目・備考欄追加プラグインを使う場合、メール文での表示には商品名部分をサーチしてるので、メール内容をいじったらこっちも変更しないといけない。
/app/Plugin/SelectionItem/Resource/template/default/order_mail_product_name.twig
これを開いて中身を書き換える。
変更内容は上記のカスタマイズ内容をまるっと移しちゃえばOK。
コメント