- ECCUBEで注文完了メールに注文商品の画像を入れる
- 2015.07.01
EC-CUBEバージョン:2.13.3
対象ファイル
data/class/helper/SC_Helper_Mail.php
data/Smarty/templates/default/mail_templates/order_mail.tpl対象関数
sfSendOrderMail●変更前
$objPage->tpl_header = $mailtemplate[‘header’];
$objPage->tpl_footer = $mailtemplate[‘footer’];$arrTplVar->arrOrderDetail = $objQuery->select(‘*’, ‘dtb_order_detail’, $where, array($order_id));
if ($send) {
if ($objSendMail->sendMail()) {
$this->sfSaveMailHistory($order_id, $template_id, $tosubject, $body);
}
}●変更後
//DBから読み込むメールテンプレートの改行をHTML用の改行に変換
$objPage->tpl_header = nl2br($mailtemplate[‘header’]);
$objPage->tpl_footer = nl2br($mailtemplate[‘footer’]);//画像のファイル名を取得
$arrTplVar->arrOrderDetail = $objQuery->select(‘*,(SELECT main_image FROM dtb_products WHERE product_id = dtb_order_detail.product_id) as main_image ‘, ‘dtb_order_detail’, $where, array($order_id));//HTMLメールを送るように変更
if ($send) {
if ($objSendMail->sendHtmlMail()) {
$this->sfSaveMailHistory($order_id, $template_id, $tosubject, $body);
}
}そしてHTMLメールに変更する為、メールテンプレートのorder_mail.tpl内の改行したい部分に<br />タグを挿入。
また、sectionループ内で、画像を挿入したい部分に下記のように追加する。<img src="http://ドメイン名/upload/save_image/<!–{$arrOrderDetail[cnt].main_image}–>" />
ECCUBE