メールビルダーの商品の表示形式を変更するには? 投稿する

投稿者:Jun  投稿日時:2022-10-05 12:15:13
こんにちは。

メールビルダーの #ITEM_ORDER_LIST# という部分で出力される、
商品リストの表示形式を変更するにはどのようにしたらよいでしょうか。

現状は、
商品AAA A-01-01 1 点 3,000 円
商品BBB B-01-01 1 点 3,000 円
商品CCC C-01-01 2 点 3,000 円
■合計   :12,000 円(送料無料)

このようになっております。

これを以下のような表示形式にするにはどのようにしたらよいでしょうか。

■商品名  :商品AAA
■商品コード:A-01-01
■価格   :3,000 円
■数量   :1 点
------------------------------
■商品名  :商品BBB
■商品コード:B-01-01
■価格   :3,000 円
■数量   :1 点
------------------------------
■商品名  :商品CCC
■商品コード:C-01-01
■価格   :3,000 円
■数量   :2 点
------------------------------
■合計   :12,000 円(送料無料)


以前にこの掲示板で同じ内容の事を教えていただきました。

2021-11-10投稿
注文時の送信メールのプラグイン設定画面以外でのカスタマイズ方法について

SOY CMS:3.6.10
SOY Shop:2.6.10
メールビルダープラグイン:1.6

この現在の環境下の場合、
以前に教えていただいたコードを反映させると、
管理画面内-「メール送信」-「送信(編集)」
で手動で入力した部分が消えるなどの現象が発生いたしましたので、
PHP内のコードを元に戻しました。

現在の最新版の環境下で、
上記のような商品の表示形式にするには、どのようにしたらよいでしょうか。

よろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2022-10-06 06:06:33
/CMSインストールディレクトリ/soyshop/webapp/src/module/plugins/common_mailbuilder/soyshop.order.mailbuilder.php の115行目付近の
$str	= $this->printColumn($orderItem->getItemName(),"left",$itemColumnSize);
$str .= $this->printColumn($item->getCode(),"left");
$str .= $this->printColumn(number_format($orderItem->getItemCount())." 点");
$str .= $this->printColumn(number_format($orderItem->getItemPrice())." 円");


$str = "■商品名  :" . $orderItem->getItemName() . "\n";
$str .= "■商品コード:" . $item->getCode() . "\n";
$str .= "■価格   :" . number_format($orderItem->getItemPrice()) . " 円\n";
$str .= "■数量   :" . number_format($orderItem->getItemCount()) . " 点\n";
$str .= "------------------------------\n";
に変更すればいけると思います。
こちらのコードは試していません。
投稿者:Jun  投稿日時:2022-10-12 18:50:28
こんにちは。

コードを試してみました。
問題なく動作いたしました。

おかげさまで意図する表示にすることができました。
ありがとうございました。
ログインして投稿する