ステータスを「入金済み」にしたときに「ご入金確認メール」を自動送信する場合の例です。
メールテンプレートを追加する
/data/Smarty/templates/default/mail_templates/
order_mail.tpl をコピーして hoge_mail.tpl を新規に作成する。
「 管理画面 → システム設定 」で、
mtb_mail_template に追加
mtb_mail_tpl_pass にも追加
ここからが本題の自動送信処理です。
個別にステータスを変えた場合
/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
/* DB登録処理 */ function lfRegistData($order_id) { $objQuery = new SC_Query(); $objQuery->begin(); // 入力データを渡す。 $arrRet = $this->objFormParam->getHashArray(); foreach($arrRet as $key => $val) { // 配列は登録しない if(!is_array($val)) { $sqlval[$key] = $val; } } $sqlval['update_date'] = 'Now()'; if (strlen($sqlval['deliv_date_year']) >= 0) { $sqlval['deliv_date'] = $sqlval['deliv_date_year'] . '-' . $sqlval['deliv_date_month'] . '-' . $sqlval['deliv_date_day']; } unset($sqlval['deliv_date_year']); unset($sqlval['deliv_date_month']); unset($sqlval['deliv_date_day']); unset($sqlval['total_point']); unset($sqlval['point']); unset($sqlval['commit_date']); $where = "order_id = ?"; // ここから追加 ------------------------------ // ここにメール送信処理を書きます。 // ここまで追加 ------------------------------ /* * XXX 本来なら配列だが, update 関数を string として * チェックしているため... */ if (!isset($addcol)) $addcol = ""; // 受注テーブルの更新 $objQuery->update("dtb_order", $sqlval, $where, array($order_id), $addcol);
一括してステータスを変えた場合の対象ファイル
/data/class/pages/admin/order/LC_Page_Admin_Order_Status.php
ソースコード