[EC-CUBE2.13]注文受付メールに配送方法を追加する

  • 公開日:2016/5/17
この記事は最終更新日から8年以上が経過しています。

デフォルトでは、注文受付メールに「決済方法」の記載はあるけど、「配送方法」はありません。(なんでだろう?)
クライアントさまのショップで、店頭受取サービスを開始したので、配送準備が必要か店舗準備でOKかをメールですぐに判断したい!というわけで対応しました。その方法のメモです。

配送方法を取得します。
data/class/helper/SC_Helper_Mail.php

public function __construct()
{
    $masterData = new SC_DB_MasterData_Ex();
    $this->arrMAILTPLPATH =  $masterData->getMasterData('mtb_mail_tpl_path');
    $this->arrPref = $masterData->getMasterData('mtb_pref');
    $this->arrCountry = $masterData->getMasterData('mtb_country');
    $this->arrDeliv = SC_Helper_DB_Ex::sfGetIDValueList('dtb_deliv', 'deliv_id', 'service_name');
}

メール本文にセットします。
data/class/helper/SC_Helper_Mail.php

/* 受注完了メール送信 */
public function sfSendOrderMail($order_id, $template_id, $subject = '', $header = '', $footer = '', $send = true)
{
    $arrTplVar = new stdClass();
    $arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
    $arrTplVar->arrInfo = $arrInfo;
    $arrTplVar->arrDeliv = $this->arrDeliv;

    $objQuery =& SC_Query_Ex::getSingletonInstance();

メールで表示します。
data/Smarty/templates/default/order_mail.tpl

************************************************
 ご請求金額
************************************************

ご注文番号:<!--{$arrOrder.order_id}-->
お支払合計:¥ <!--{$arrOrder.payment_total|number_format|default:0}-->
ご決済方法:<!--{$arrOrder.payment_method}-->
配送方法:<!--{$arrDeliv[$arrOrder.deliv_id]}-->
メッセージ:<!--{$Message_tmp}-->

EC-CUBEのカスタマイズでは「拡張」を編集した方がいいのか、「親」を編集していいのか議論はありますが、今回は、追加しているプラグインが「親」である SC_Helper_Mail.php を継承していた都合上、「親」を編集しました。
デフォルトでは、注文受付メールに「決済方法」の記載はあるけど、「配送方法」はありません。(なんでだろう?)
クライアントさまのショップで、店頭受取サービスを開始したので、配送準備が必要か店舗準備でOKかをメールですぐに判断したい!というわけで対応しました。その方法のメモです。

配送方法を取得します。
data/class/helper/SC_Helper_Mail.php

public function __construct()
{
    $masterData = new SC_DB_MasterData_Ex();
    $this->arrMAILTPLPATH =  $masterData->getMasterData('mtb_mail_tpl_path');
    $this->arrPref = $masterData->getMasterData('mtb_pref');
    $this->arrCountry = $masterData->getMasterData('mtb_country');
    $this->arrDeliv = SC_Helper_DB_Ex::sfGetIDValueList('dtb_deliv', 'deliv_id', 'service_name');
}

メール本文にセットします。
data/class/helper/SC_Helper_Mail.php

/* 受注完了メール送信 */
public function sfSendOrderMail($order_id, $template_id, $subject = '', $header = '', $footer = '', $send = true)
{
    $arrTplVar = new stdClass();
    $arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
    $arrTplVar->arrInfo = $arrInfo;
    $arrTplVar->arrDeliv = $this->arrDeliv;

    $objQuery =& SC_Query_Ex::getSingletonInstance();

メールで表示します。
data/Smarty/templates/default/order_mail.tpl

************************************************
 ご請求金額
************************************************

ご注文番号:<!--{$arrOrder.order_id}-->
お支払合計:¥ <!--{$arrOrder.payment_total|number_format|default:0}-->
ご決済方法:<!--{$arrOrder.payment_method}-->
配送方法:<!--{$arrDeliv[$arrOrder.deliv_id]}-->
メッセージ:<!--{$Message_tmp}-->

EC-CUBEのカスタマイズでは「拡張」を編集した方がいいのか、「親」を編集していいのか議論はありますが、今回は、追加しているプラグインが「親」である SC_Helper_Mail.php を継承していた都合上、「親」を編集しました。