EC-CUBE2.12:送信メールのテンプレートを追加し、選択した支払い方法を自動表示する

1 口座等の「お支払い情報」が必要ないメールもあると思うので、order_mail.tplはそのまま残し、新規にorder_mail_pay.tplを作成し、それに「お支払い情報」を追加する。

order_mail.tpl←「お支払い情報」は表示しない。
order_mail_pay.tpl←「お支払い情報」を追加する。

(1) PC・スマートフォン用 ■data/smarty/templates/default/mail_templates/order_mail_pay.tpl
——————————————-
order_mail.tplをコピーし、名前を変更する。記述については後で。
——————————————-

(2) 携帯用 ■data/smarty/templates/mobile/mail_templates/order_mail_pay.tpl
——————————————-
order_mail.tplをコピーし、名前を変更する。記述については後で。
——————————————-

(3)メールのテンプレートに追加する。
 mtb_mail_templateとmail_tpl_pathを空にしてから、下記sqlを実行する。

INSERT INTO mtb_mail_template (id, name, rank) VALUES (1, '注文受付メール(自動メール)', 0);
INSERT INTO mtb_mail_template (id, name, rank) VALUES (2, '注文受付メール(携帯自動メール)', 1);
INSERT INTO mtb_mail_template (id, name, rank) VALUES (3, '注文キャンセル受付メール', 2);
INSERT INTO mtb_mail_template (id, name, rank) VALUES (4, '取り寄せ確認メール', 3);
INSERT INTO mtb_mail_template (id, name, rank) VALUES (5, 'お問い合わせ受付メール', 4);
INSERT INTO mtb_mail_template (id, name, rank) VALUES (6, '入金確認メール', 5);
INSERT INTO mtb_mail_template (id, name, rank) VALUES (7, '商品発送メール', 6);
INSERT INTO mtb_mail_tpl_path (id, name, rank) VALUES (1, 'mail_templates/order_mail_pay.tpl', 0);
INSERT INTO mtb_mail_tpl_path (id, name, rank) VALUES (2, 'mail_templates/order_mail_pay.tpl', 1);
INSERT INTO mtb_mail_tpl_path (id, name, rank) VALUES (3, 'mail_templates/order_mail.tpl', 2);
INSERT INTO mtb_mail_tpl_path (id, name, rank) VALUES (4, 'mail_templates/order_mail_pay.tpl', 3);
INSERT INTO mtb_mail_tpl_path (id, name, rank) VALUES (5, 'mail_templates/contact_mail.tpl', 4);
INSERT INTO mtb_mail_tpl_path (id, name, rank) VALUES (6, 'mail_templates/order_mail.tpl', 5);
INSERT INTO mtb_mail_tpl_path (id, name, rank) VALUES (7, 'mail_templates/order_mail.tpl', 6)

システム設定>マスターデータ管理の、mtb_mail_templateとmail_tpl_pathを選択し、「この内容で登録する」をクリックします。

 dtb_mailtemplateを空にしてから、下記sqlを実行する。


INSERT INTO dtb_mailtemplate (template_id, subject, header, footer, creator_id, del_flg, create_date, update_date) VALUES (1, 'ご注文ありがとうございます', 'この度はご注文いただき誠にありがとうございます。
下記ご注文内容にお間違えがないかご確認下さい。

※このメールは,自動配信メールです。重要な情報を含んでおりますので,大切に保管してください。
※ご注文にお心当たりのない方は,お手数ですが,本メールの返信アドレスまでご連絡ください。

', '
============================================

このメッセージはお客様へのお知らせ専用ですので、
このメッセージへの返信としてご質問をお送りいただいても回答できません。
ご了承ください。

', 0, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
INSERT INTO dtb_mailtemplate (template_id, subject, header, footer, creator_id, del_flg, create_date, update_date) VALUES (2, 'ご注文ありがとうございます', 'この度はご注文いただき誠にありがとうございます。
下記ご注文内容にお間違えがないかご確認下さい。

※このメールは,自動配信メールです。重要な情報を含んでおりますので,大切に保管してください。
※ご注文にお心当たりのない方は,お手数ですが,本メールの返信アドレスまでご連絡ください。

', '
============================================

このメッセージはお客様へのお知らせ専用ですので、
このメッセージへの返信としてご質問をお送りいただいても回答できません。
ご了承ください。

', 0, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
INSERT INTO dtb_mailtemplate (template_id, subject, header, footer, creator_id, del_flg, create_date, update_date) VALUES (3, 'キャンセル受付のご連絡', '
下記の商品のキャンセルをお受けいたしました。

', '
============================================

このメッセージはお客様へのお知らせ専用ですので、
このメッセージへの返信としてご質問をお送りいただいても回答できません。
ご了承ください。

', 0, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
INSERT INTO dtb_mailtemplate (template_id, subject, header, footer, creator_id, del_flg, create_date, update_date) VALUES (4, '取り寄せのご確認', 'この度はご注文いただき誠にありがとうございます。
お客様からご注文いただいた商品は,
【各方面から予想外に大量のご注文をいただきまして/生産元からの配送に遅れが出ておりまして等※理由を明記する】
誠に申し訳ございませんが,現在品切れ状態となっております。

至急増産体制に入っておりますが,現在の状況を改めて確認しましたところ,【お客様名】様へのお届けは【期間】ほどお待ちいただくような状況です。

つきましては,そのまま商品のお届けをお待ちいただくか,今回のご注文についてはキャンセルされるかをお選びいただきたいと考えております。

大変お手数をおかけいたしますが,ご連絡をいただければ幸いです。

また何かご不明な点等ございましたら,ご遠慮なくお問い合わせください。どうか今後ともよろしくお願い申し上げます。

', '

', 0, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
INSERT INTO dtb_mailtemplate (template_id, subject, header, footer, creator_id, del_flg, create_date, update_date) VALUES (5, 'お問い合わせありがとうございます', '

********************************************************
この度はお問い合わせいただきありがとうございます。
********************************************************

', '
============================================

このメッセージはお客様へのお知らせ専用ですので、
このメッセージへの返信としてご質問をお送りいただいても回答できません。
ご了承ください。

', 0, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
INSERT INTO dtb_mailtemplate (template_id, subject, header, footer, creator_id, del_flg, create_date, update_date) VALUES (6, '入金確認のご連絡', 'この度はご注文いただき誠にありがとうございます。
本日ご入金を確認いたしました。
早速発送準備に入らせていただきます。

', '
============================================

このメッセージはお客様へのお知らせ専用ですので、
このメッセージへの返信としてご質問をお送りいただいても回答できません。
ご了承ください。

', 0, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
INSERT INTO dtb_mailtemplate (template_id, subject, header, footer, creator_id, del_flg, create_date, update_date) VALUES (7, 'ご注文の発送', '
********************************************************
ご注文の商品を発送いたしました
********************************************************
この度は,当店にてご注文いただき,誠に有難うございました。
ご注文の商品をご指定のお届け先へ出荷致しました。
商品到着まで今しばらくお待ち下さい。

', '
============================================

このメッセージはお客様へのお知らせ専用ですので、
このメッセージへの返信としてご質問をお送りいただいても回答できません。
ご了承ください。

', 0, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)

2 管理画面の「基本情報管理>支払方法設定」で、サブ情報等を登録できるようにする。

(1)データベースの拡張
 dtb_paymentにカラムを2個追加

ALTER TABLE dtb_payment ADD site_ex text
ALTER TABLE dtb_payment ADD mail_ex text

 dtb_order_tempにカラムを1個追加

ALTER TABLE dtb_order_temp ADD mail_ex text

 dtb_orderにカラムを1個追加

ALTER TABLE dtb_order_temp ADD mail_ex text

(2)■data/Smarty/templates/admin/basis/payment_input.tpl
「利用条件(円)」と「ロゴ画像」の間に下記セルを追加する。

<tr>
<th>ホームページに表示するサブ情報</th>
<td>
<!--{assign var=key value="site_ex"}-->
<span class="attention"><!--{$arrErr[$key]}--></span>
<textarea name="<!--{$arrForm[$key].keyname}-->" cols="100" rows="12" maxlength="<!--{$arrForm[$key].length}--> style="<!--{$arrErr[$key]|sfGetErrorColor}-->" /><!--{$arrForm[$key].value|h}--></textarea>
</td>
</tr>
<tr>
<th>送信メールに表示</th>
<td>
<!--{assign var=key value="mail_ex"}-->
<span class="attention"><!--{$arrErr[$key]}--></span>
<textarea name="<!--{$arrForm[$key].keyname}-->" cols="100" rows="12" maxlength="<!--{$arrForm[$key].length}--> style="<!--{$arrErr[$key]|sfGetErrorColor}-->" /><!--{$arrForm[$key].value|h}--></textarea>
</td>
</tr>

(3)■data/class/pages/admin/basis/LC_Page_Admin_Basis_PaymentInput.php

 135行目あたりの「$objFormParam->addParam(“固定”, ‘fix’);」の次に以下を追加

$objFormParam->addParam("サイト表示サブ情報", "site_ex", MLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); // ◆site_ex
$objFormParam->addParam("送信メール表示", "mail_ex", MLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); // ◆mail_ex

 182行目あたりの「$objFormParam->addParam(‘固定’, ‘fix’);」の次に以下を追加

$objFormParam->addParam("サイト表示サブ情報", "site_ex", MLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); // ◆site_ex
$objFormParam->addParam("送信メール表示", "mail_ex", MLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); // ◆mail_ex

 196行目あたりの「$objFormParam->addParam(‘固定’, ‘fix’);」の次に以下を追加

$objFormParam->addParam("サイト表示サブ情報", "site_ex", MLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); // ◆site_ex
$objFormParam->addParam("送信メール表示", "mail_ex", MLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); // ◆memo10

(4)管理画面「基本情報管理>支払方法設定」で、サブ情報を登録する。

【下記は例】

■郵便振替
——————————————-
▼ホームページに表示するサブ情報
郵便局で為替を購入し、普通郵便でお送りください。
発券手数料はお客様負担でお願いします。

▼送信メールに表示
お支払いは郵便為替で承りました。
郵便局で為替を購入し、普通郵便でお送りください。
発券手数料はお客様負担でお願いします。
——————————————-

■現金書留
——————————————-
▼ホームページに表示するサブ情報
書留の加算料金はお客様負担でお願いします。

▼送信メールに表示
お支払いは現金書留で承りました。
書留の加算料金はお客様負担でお願いします。
——————————————-

■銀行振込
——————————————-
▼ホームページに表示するサブ情報
下記の銀行口座にお振り込みください。
振り込み手数料はお客様負担でお願いします。

口座情報
************************
○○銀行 ○○支店
普通 □□□□□□□□
受取人名 ○○ ○○
************************

▼送信メールに表示
お支払いは銀行振込で承りました。
下記の銀行口座にお振り込みください。
振り込み手数料はお客様負担でお願いします。

口座情報
************************
○○銀行 ○○支店
普通 □□□□□□□□
受取人名 ○○ ○○
************************
——————————————-

3 送信メールに情報を表示できるようにする。

(1)■data/class/pages/shopping/LC_Page_Shopping_Payment.php
function lfRegistDataメソッド内の$arrForm[‘payment_method’] = $payment[‘payment_method’];の後に追加

$arrForm['mail_ex'] = $payment['mail_ex']; //■お支払い情報

(2)■data/class/helper/SC_Helper_Purchase.php
function getPaymentsByPriceメソッド内、「, mail_ex」を追加

$payments = $objQuery->select('payment_id, payment_method, rule_max, upper_rule, note, payment_image, charge, mail_ex', 'dtb_payment', $where, $arrPaymentIds); //■お支払い情報を追加 mail_ex

(3)■data/smarty/templates/default/mail_templates/order_mail_pay.tplの「配送情報」の後に追加する。
の間

<!--{if $arrOrder.mail_ex}-->
************************************************
お支払い情報
************************************************

<!--{$arrOrder.mail_ex|h}-->
<!--{/if}-->

(4)■data/smarty/templates/mobile/mail_templates/order_mail_pay.tplの「配送情報」の後に追加する。
の間

<!--{if $arrOrder.mail_ex}-->
■お支払い情報

<!--{$arrOrder.mail_ex|h}-->
<!--{/if}-->

4 「ホームページに表示するサブ情報」は、お支払いについてのページを作成するときに、データベースから読み込んで表示するといいでしょう。
「EC-CUBE2.12:インフォメーション(ご注文の流れ等)ブロックを作成する」で紹介します。