ECCUBE2系で発送完了メールを自動送信するように修正してみた
概要
EC-CUBEの2系で注文確認メールやお問い合わせメールは標準で送信されるようになっている。
でも管理画面から受注ステータスを「発送済」に更新しても、発送完了メールが送信されない。これでは不便だ。
なので商品発送メールが送れるように修正してみた。
環境
EC-CUBE version2.13.3
手順
2.テンプレートパスを追加する
システム設定>マスターデータ管理から「mtb_mail_tpl_path」を選択する。続いてIDを6として「mail_templates/order_complete_mail.tpl」を追加する。
3.メールタイトルを設定する
基本情報管理>メール設定から「発送完了メール」のテンプレートを開く。メールタイトルを設定する。ここでは「商品を発送いたしました」としました。
4.テンプレートファイルを追加する
FTPツールなどで「/data/Smarty/templates/default/mail_templates」を開く。そこに「order_complete_mail.tpl」ファイルを作成してアップロードする。
order_complete_mail.tplファイルの中身はこんな感じにしました。
本日商品を発送いたしました。 それでは商品到着までしばらくお待ちください。 よろしくお願い致します。
5.メール送信プログラムを追加する
FTPツールなどで「/data/class/pages/admin/order」を開く。「LC_Page_Admin_Order_Edit.php」ファイルを開いて、次のプログラムを追加する。
$objQuery->commit関数の下、892行目の辺り。
// ----- 発送完了メール if($arrValues['status'] == ORDER_DELIV) { $objMail = new SC_Helper_Mail_Ex(); $objSendMail = $objMail->sfSendOrderMail($order_id, 6); }
6.テストする
管理画面の受注管理>受注管理から、適当な注文のステータスを発送済にしてみましょう。発送完了メールが送信されるはずです。
でも今後はEC-CUBE3系に移行してくはずだからあんまりこの記事も意味ないかなあ。。