[eccube3]受注メールの商品情報に「規格名」を追加

ニーズは局地的かもしらん

商品の複数箇所に同様の選択肢をもたせる場合、規格の選択内容だけ表示させても、それはどれのことなんだよってなったりする。商品を登録するときは規格名出てるのに、なんでメールにはそれがないんだよっていう。

カスタマイズ

注文時の自動送信メールを変えたいので、
/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。

コメント

タイトルとURLをコピーしました