質問 > その他 > メール テンプレートの扱い方 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sumida |
投稿日時: 2013/2/28 22:32
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
メール テンプレートの扱い方 メールテンプレートを追加しようと思いました。
が、携帯との絡みで疑問があります。 まず、ディレクトリ構造から、勝手に以下のような解釈をしていました。 「テンプレートのフルセットをdefault以下に配置し、 携帯専用は、mobile以下に、 スマートフォン専用は、sphone以下に、」 (携帯は、通信データ量を少なくするために、専用のテンプレートを使う。) と、思っていました。 しかし、ソースを見ると、注文受付時、携帯であれば、テンプレートID:2、その他は、テンプレートID:1になっていました。 ・・・(1) このIDによって使い分けると思いきや、ショップ画面のデバイスをもとに参照するディレクトリを直接切換え、テンプレートの使い分けを実現していました。 ・・・(2) この(1)と(2)が共存している点が、「なぜ?」 また、管理画面:受注管理から送付するメール(注文受付メールを再送も含めて)、 default以下のテンプレートになるようです。 ショップ画面での問い合わせに対する問い合わせ受付メールも、default以下のテンプレートになるようです。 みなさん、どのようにテンプレートを運用(携帯用との使い分けなど)されていますか? |
sumida |
投稿日時: 2013/3/2 21:36
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: メール テンプレートの扱い方 個人的には、
ショップ画面での、自動返信(注文受付メール・問い合わせ受付メール)時は、使用しているデバイスに対応して、 default、mobile、sphoneのメールテンプレートを使い分ける。 また、管理画面では、dtb_orderテーブルに、device_type_idというカラムが存在しているので、 この値によって、default、mobile、sphoneのメールテンプレートを使い分ければ良いと思うのです。 (さらに、mobile、sphoneになければ、defaultのメールテンプレートを使う。) |
nanasess |
投稿日時: 2013/3/4 10:35
対応状況: −−−
|
神 ![]() ![]() 登録日: 2006/9/9 居住地: 投稿: 2281 |
Re: メール テンプレートの扱い方 引用:
dtb_order.device_type_id は、 EC-CUBE 2.11.0 から追加された項目になります。 2.11.0 の前バージョンである、2.4 の頃は、テンプレートが、すべて default 以下にあったり、メールテンプレートの判定もベタ書きになっていたりして、中途半端な状態でした。 2.11.0 へのバージョンアップの頃に、しっかり整理できればよかったのですが、スケジュールの都合上、改修の優先度が低くなり、現在のような実装になっています。 また、受注完了メールを決済モジュール側で送信する場合もあり、決済モジュールへ影響のある改修は、メジャーバージョンアップにて行うことになっています。 貴重なご意見ありがとうございます。 次回メジャーバージョンアップ時での課題としてフィードバックしたいと思います。 |
sumida |
投稿日時: 2013/3/6 18:31
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: メール テンプレートの扱い方 参考までに、
管理画面:受注管理からメールを送信する場合、 data/class/helper/SC_Helper_Mail.php 内にある関数 sfSendOrderMail から送信するようなので、 試しに、やってみました。 if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) { $objMailView = new SC_MobileView_Ex(); } else { $objMailView = new SC_SiteView_Ex(); } の部分を if ($arrOrder['device_type_id'] == DEVICE_TYPE_MOBILE) { $objMailView = new SC_MobileView_Ex(); } else { $objMailView = new SC_SiteView_Ex(); } にすると、携帯から注文された場合、注文先へ送信するメールは、mobile/mail_templates内のテンプレートを使用します。 新規注文の場合も関数 sfSendOrderMail から送信します。 この場合も $arrOrder['device_type_id'] に値が入っているようなので、 携帯から注文された場合、mobile/mail_templates内のテンプレートを使用します。 |
sumida |
投稿日時: 2013/5/30 22:36
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: メール テンプレートの扱い方 受注情報の device_type_id を使ったメールテンプレートの使い分けをやってみました。
1. 新規作成ディレクトリ (スマホ用メールテンプレート) data/Smarty/templates/sphone/mail_templates 2. 修正ファイル (1) data/class/SC_View.php (smarty関数の template_exists を追加)
(2) data/class/helper/SC_Helper_Mail.php (スマホ用メールテンプレートを使用できるようにする。また、モバイル・スマホに該当するテンプレートがない場合、PC用を使用する。)
(3) data/class/pages/shopping/LC_Page_Shopping_Confirm.php (メールテンプレートID:2の束縛をなくす。)
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |