ステータスを「入金済み」にしたときに「ご入金確認メール」を自動送信する場合の例です。
メールテンプレートを追加する
/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
ソースコード









