バグ報告 > 管理機能 > 受注管理からのメール通知で{order}の差込がおかしい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2007/10/2 11:22
対応状況: −−−
|
受注管理からのメール通知で{order}の差込がおかしい 長々と書いていたら投稿時にエラーで消えてしまった(汗)。
簡潔に書きます(笑)。 1.4.3-betaで確認した内容です。 もともとあるテンプレート 1.受注完了テンプレート(PC用) 2.受注完了テンプレート(携帯用) に2つ追加して 3.入金確認(PC用) 4.商品発送(PC用) を作りました。 受注管理から注文した顧客に対してメール通知する際、このテンプレートから選択して送信できます。 そのとき{order}を入れた部分が1と4には空白で、2にPC用、3に携帯用のmail_order.tplが差し込まれてきます。 /html/admin/order/mail.phpを調べると94行目あたりで
としていますが、2番目の引数はsend_typeが入るべきところのように思います。 ただし、$_POST['send_type']としても、受注からのメール通知ではそのデータを持たせていないようなので機能しません。 またdtb_mailtemplateのsend_typeも0、1となっていますので1、2にずらす必要があるものと思われます。 思うにPC用、携帯用のtemplate_id(たぶんsend_type)と作れるテンプレートのtemplate_idを勘違いしているのではないかと... ご確認願います。 |
|
ramrun |
投稿日時: 2007/10/2 11:24
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: 受注管理からのメール通知で{order}の差込がおかしい あ、上の投稿は私です(汗)。
どうやらタイムアウトでログアウトしちゃったみたいです。 |
adachi |
投稿日時: 2007/10/2 16:01
対応状況: −−−
|
EC-CUBE開発チーム 登録日: 2007/2/14 居住地: 大阪 投稿: 93 |
Re: 受注管理からのメール通知で{order}の差込がおかしい ramrun様
開発チームの足立です、 上記の件、ソースコードを追って調べてみました。 引数を修正する必要はなく、sfSendOrderMail()の方を修正すれば良さそうです。 sfSendOrderMail()の中で、引数で渡されたtemplate_idからsend_typeを取得し、
のようにすれば正しくmail_order.tplを開くことができると思います。 tracにも登録させていただきました。 ありがとうございます。 |
ramrun |
投稿日時: 2007/10/2 18:30
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: 受注管理からのメール通知で{order}の差込がおかしい ご確認いただきありがとうございます。
なるほど〜 と思い、template_idでdtb_mailtemplateからsend_typeを取得してみました。 send_typeはあらかじめ0、1を1、2に変更していたんですがそれを使って $arrMAILTPLPATH[$send_type] としてみてもうまくいかず。 さらに調べてみると、テンプレート側ではあくまで0〜の番号を使用していて、それを$_POST[$template_id]で取得しているため1つずれるようです。 テンプレートを選択したときに表示されるメール内容は
という処理が入っていますので関連付けされますが、sfSendOrderMailのほうはそのまま$_POST['template_id']が渡されるため、オフセットしないといけない感じです。 ただsfSendOrderMail側は0、1でつじつまが合うように作られてるようですから、send_typeを取得するときだけtemplate_id+1しなければいけないみたい。 ・テンプレートは0からのtemplate_idを使用 ・データベースは1からのtemplate_idを使用 というのがそもそも勘違いのもとだと思われます。 |
homan |
投稿日時: 2007/10/2 18:57
対応状況: −−−
|
仙人 登録日: 2007/7/2 居住地: 宮崎県宮崎市 投稿: 633 |
Re: 受注管理からのメール通知で{order}の差込がおかしい メールテンプレートに関する不具合は、1.4.2-betaでも確認できていました。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=928&forum=8&post_id=2988#forumpost2988 あまりソースを追っかけていないのですが、 ramrunさんがおっしゃるように 引用:
が問題じゃないのかな〜と思います。 また、上のURLのスレ内にもありますが、 条件式をちょこちょこ修正したところ、 受注時のメールが1つずれてしまい、 PCで受注したにもかかわらず、 受注テンプレート(携帯用)と表示されるようになってしまいました。 (送られる{order}の内容はPC用みたいなのですが・・・) また、send_typeを設けているにもかかわらず、 PC用と携帯用のメールテンプレート条件式が template_id で見ている点もおかしいと思います。 僕も引き続きこの点確認してみます。
|
ramrun |
投稿日時: 2007/10/3 11:08
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: 受注管理からのメール通知で{order}の差込がおかしい 自分のところでやった対策を書いておきます。
まず、slibのsfSendOrderMailについて。 受注完了時の自動送信メールは template_idが1または2が送られます。 現状では{order}の処理が下記のようになってます。
$arrMAILTPLPATH[$template_id])の部分は$arrMAILTPLPATH[$send_type])とする必要があります。 またdtb_mailtemplateのsend_typePC用:0、携帯用:1をPC用:1、携帯用:2と変更しておきます。 template_idからsend_typeを取得する必要が出てきますので、受注動的部分の取得は
としました。 しかしこれだけだと、管理画面の受注管理からメール通知する際にずれます。 管理画面からのテンプレートではtemplate_idが0から始まっているためで、それを1からに変更するためにはSC_FormParam.phpが絡んでくるためいじっては不味そうです。 /html/admin/order/mail.phpにて、case 'change'で行っている処理
をcase 'send'とcase 'confirm'の処理に追加します。 case 'send'
case 'confirm'
これでとりあえず対策できたっぽい気がします... 改造していて気づいたのですが
getとselectではテーブルとカラムの引数が逆ですね。 統一したほうがいいように思います。 ----------------------------------------------------------- 10/4追記 メールテンプレを更新すると、テンプレからPOSTされてくるのがやはり0、1なので、せっかく1、2にしたsend_typeが戻ってしまいます。 /html/admin/basis/mail.phpで1つ加算しておきました。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |