ITOBEN STYLE > EC-CUBE:送信メールに口座等の情報を、選択した支払い方法に応じて自動表示する 2012年3月19日カテゴリー:未分類 EC-CUBE:送信メールに口座等の情報を、選択した支払い方法に応じて自動表示する こちらのページとこちらのページを改良した内容となっています。 修正1 ■mktさんより、memo01とmemo02フィールドは決算モジュールに使用されるとのご指摘をいただいたため、memo09とmemo10フィールドに変更しました。 修正2 ■さらに、mktさんより、よいアイディアをいただいたので、memo09とmemo10は使用せず、site_exとmail_exフィールドを新規追加し、そちらにデータを収めるように変更しました。 よきアドバイス、ありがとうございました。 1 口座等の「お支払い情報」が必要ないメールもあると思うので、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 ②mtb_mail_tpl_path 2 管理画面の「基本情報管理>支払方法設定」で、サブ情報等を登録できるようにする。 (1)データベースの拡張 ①dtb_paymentテーブルに2個のフィールドを追加 ——————————————- フィールド:site_ex 種別:text NULL フィールド:mail_ex 種別:text NULL ——————————————- ②dtb_order_tempテーブルに2個のフィールドを追加 ——————————————- フィールド:site_ex 種別:text NULL フィールド:mail_ex 種別:text NULL ——————————————- ③dtb_orderテーブルに1個のフィールドを追加 ——————————————- フィールド:mail_ex 種別:text NULL ——————————————- (2)■data/Smarty/templates/admin/basis/payment_input.tpl 「利用条件(円)」と「ロゴ画像」の間に下記セルを追加する。 [php] ホームページに表示するサブ情報 (2)■data/class/pages/admin/basis/LC_Page_Admin_Basis_PaymentInput.php ① 135行目の$objFormParam->addParam(“固定”, ‘fix’);の次に以下を追加 [php] $objFormParam->addParam(“サイト表示サブ情報”, “site_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”)); $objFormParam->addParam(“送信メール表示”, “mail_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”)); [/php] ② 167行目を変更(ロゴ画像にjpg、png画像を登録できるように、追加) [php] $this->objUpFile->addFile(“ロゴ画像”, ‘payment_image’, array(‘jpg’, ‘gif’, ‘png’), IMAGE_SIZE, false, LARGE_SUBIMAGE_WIDTH, LARGE_SUBIMAGE_HEIGHT); [/php] ③ 183行目に追加(データベースのmemo09とmemo10フィールドを使用する) [php] $objFormParam->addParam(“サイト表示サブ情報”, “site_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”)); $objFormParam->addParam(“送信メール表示”, “mail_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”)); [/php] ④ 196行目に追加 [php] $objFormParam->addParam(“サイト表示サブ情報”, “site_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”)); $objFormParam->addParam(“送信メール表示”, “mail_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”)); [/php] (3)管理画面「基本情報管理>支払方法設定」で、サブ情報を登録する。 【下記は例】 ■郵便振替 ——————————————- ▼ホームページに表示するサブ情報 郵便局で為替を購入し、普通郵便でお送りください。 発券手数料はお客様負担でお願いします。 ▼送信メールに表示 お支払いは郵便為替で承りました。 郵便局で為替を購入し、普通郵便でお送りください。 発券手数料はお客様負担でお願いします。 ——————————————- ■現金書留 ——————————————- ▼ホームページに表示するサブ情報 書留の加算料金はお客様負担でお願いします。 ▼送信メールに表示 お支払いは現金書留で承りました。 書留の加算料金はお客様負担でお願いします。 ——————————————- ■銀行振込 ——————————————- ▼ホームページに表示するサブ情報 下記の銀行口座にお振り込みください。 振り込み手数料はお客様負担でお願いします。 口座情報 ************************ ○○銀行 ○○支店 普通 □□□□□□□□ 受取人名 ○○ ○○ ************************ ▼送信メールに表示 お支払いは銀行振込で承りました。 下記の銀行口座にお振り込みください。 振り込み手数料はお客様負担でお願いします。 口座情報 ************************ ○○銀行 ○○支店 普通 □□□□□□□□ 受取人名 ○○ ○○ ************************ ——————————————- ■代金引換 ——————————————- ▼ホームページに表示するサブ情報 手数料がかかります。 ▼送信メールに表示 代金引換えにて配送いたします。 商品お受取りの際、配達員に代金をお支払いください。 ——————————————- ■クレジットカード ——————————————- ▼ホームページに表示するサブ情報 ▼送信メールに表示 お支払いはクレジットカードで承りました。 ——————————————- ■コンビニ決済 ——————————————- ▼ホームページに表示するサブ情報 ▼送信メールに表示 お支払いはコンビニ決済で承りました。 ——————————————- 3 送信メールに情報を表示できるようにする。 (1)■data/class/pages/shopping/LC_Page_Shopping_Payment.php function lfRegistDataメソッド内の$arrForm[‘payment_method’] = $payment[‘payment_method’];の後に追加 [php] $arrForm[‘mail_ex’] = $payment[‘mail_ex’]; //■お支払い情報 [/php] (2)■data/class/helper/SC_Helper_Purchase.php function getPaymentsByPriceメソッド内、「, mail_ex」を追加 [php] $payments = $objQuery->select(“payment_id, payment_method, rule, upper_rule, note, payment_image, charge, mail_ex”, “dtb_payment”, $where, $arrPaymentIds); //■お支払い情報を追加「, mail_ex」 [/php] (3)■data/smarty/templates/default/mail_templates/order_mail_pay.tplの「配送情報」の後に追加する。 [php] ************************************************ お支払い情報 ************************************************ [/php] (4)■data/smarty/templates/mobile/mail_templates/order_mail_pay.tplの「配送情報」の後に追加する。 [php] ■お支払い情報 [/php] 4 「ホームページに表示するサブ情報」は、お支払いについてのページを作成するときに、データベースから読み込んで表示するといいでしょう。
こちらのページとこちらのページを改良した内容となっています。
修正1 ■mktさんより、memo01とmemo02フィールドは決算モジュールに使用されるとのご指摘をいただいたため、memo09とmemo10フィールドに変更しました。
修正2 ■さらに、mktさんより、よいアイディアをいただいたので、memo09とmemo10は使用せず、site_exとmail_exフィールドを新規追加し、そちらにデータを収めるように変更しました。
よきアドバイス、ありがとうございました。
1 口座等の「お支払い情報」が必要ないメールもあると思うので、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
②mtb_mail_tpl_path
2 管理画面の「基本情報管理>支払方法設定」で、サブ情報等を登録できるようにする。
(1)データベースの拡張
①dtb_paymentテーブルに2個のフィールドを追加
——————————————-
フィールド:site_ex
種別:text
NULL
フィールド:mail_ex
種別:text
NULL
——————————————-
②dtb_order_tempテーブルに2個のフィールドを追加
——————————————-
フィールド:site_ex
種別:text
NULL
フィールド:mail_ex
種別:text
NULL
——————————————-
③dtb_orderテーブルに1個のフィールドを追加
——————————————-
フィールド:mail_ex
種別:text
NULL
——————————————-
(2)■data/Smarty/templates/admin/basis/payment_input.tpl
「利用条件(円)」と「ロゴ画像」の間に下記セルを追加する。
[php]
① 135行目の$objFormParam->addParam(“固定”, ‘fix’);の次に以下を追加
[php]
$objFormParam->addParam(“サイト表示サブ情報”, “site_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”));
$objFormParam->addParam(“送信メール表示”, “mail_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”));
[/php]
② 167行目を変更(ロゴ画像にjpg、png画像を登録できるように、追加)
[php]
$this->objUpFile->addFile(“ロゴ画像”, ‘payment_image’, array(‘jpg’, ‘gif’, ‘png’), IMAGE_SIZE, false, LARGE_SUBIMAGE_WIDTH, LARGE_SUBIMAGE_HEIGHT);
[/php]
③ 183行目に追加(データベースのmemo09とmemo10フィールドを使用する)
[php]
$objFormParam->addParam(“サイト表示サブ情報”, “site_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”));
$objFormParam->addParam(“送信メール表示”, “mail_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”));
[/php]
④ 196行目に追加
[php]
$objFormParam->addParam(“サイト表示サブ情報”, “site_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”));
$objFormParam->addParam(“送信メール表示”, “mail_ex”, MTEXT_LEN, “KVa”, array(“MAX_LENGTH_CHECK”));
[/php]
(3)管理画面「基本情報管理>支払方法設定」で、サブ情報を登録する。
【下記は例】
■郵便振替
——————————————-
▼ホームページに表示するサブ情報
郵便局で為替を購入し、普通郵便でお送りください。
発券手数料はお客様負担でお願いします。
▼送信メールに表示
お支払いは郵便為替で承りました。
郵便局で為替を購入し、普通郵便でお送りください。
発券手数料はお客様負担でお願いします。
——————————————-
■現金書留
——————————————-
▼ホームページに表示するサブ情報
書留の加算料金はお客様負担でお願いします。
▼送信メールに表示
お支払いは現金書留で承りました。
書留の加算料金はお客様負担でお願いします。
——————————————-
■銀行振込
——————————————-
▼ホームページに表示するサブ情報
下記の銀行口座にお振り込みください。
振り込み手数料はお客様負担でお願いします。
口座情報
************************
○○銀行 ○○支店
普通 □□□□□□□□
受取人名 ○○ ○○
************************
▼送信メールに表示
お支払いは銀行振込で承りました。
下記の銀行口座にお振り込みください。
振り込み手数料はお客様負担でお願いします。
口座情報
************************
○○銀行 ○○支店
普通 □□□□□□□□
受取人名 ○○ ○○
************************
——————————————-
■代金引換
——————————————-
▼ホームページに表示するサブ情報
手数料がかかります。
▼送信メールに表示
代金引換えにて配送いたします。
商品お受取りの際、配達員に代金をお支払いください。
——————————————-
■クレジットカード
——————————————-
▼ホームページに表示するサブ情報
▼送信メールに表示
お支払いはクレジットカードで承りました。
——————————————-
■コンビニ決済
——————————————-
▼ホームページに表示するサブ情報
▼送信メールに表示
お支払いはコンビニ決済で承りました。
——————————————-
3 送信メールに情報を表示できるようにする。
(1)■data/class/pages/shopping/LC_Page_Shopping_Payment.php
function lfRegistDataメソッド内の$arrForm[‘payment_method’] = $payment[‘payment_method’];の後に追加
[php]
$arrForm[‘mail_ex’] = $payment[‘mail_ex’]; //■お支払い情報
[/php]
(2)■data/class/helper/SC_Helper_Purchase.php
function getPaymentsByPriceメソッド内、「, mail_ex」を追加
[php]
$payments = $objQuery->select(“payment_id, payment_method, rule, upper_rule, note, payment_image, charge, mail_ex”, “dtb_payment”, $where, $arrPaymentIds); //■お支払い情報を追加「, mail_ex」
[/php]
(3)■data/smarty/templates/default/mail_templates/order_mail_pay.tplの「配送情報」の後に追加する。
[php]
************************************************
お支払い情報
************************************************
[/php]
(4)■data/smarty/templates/mobile/mail_templates/order_mail_pay.tplの「配送情報」の後に追加する。
[php]
■お支払い情報
[/php]
4 「ホームページに表示するサブ情報」は、お支払いについてのページを作成するときに、データベースから読み込んで表示するといいでしょう。
アーカイブ
カテゴリー