-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
登録メール送信時の警告 SC_Helper_Mail::sfSendRegistMail() #982
Comments
動作未検証ですが、以下が必要かも疑問に思いました。 ec-cube2/data/class/helper/SC_Helper_Mail.php Lines 376 to 377 in d9568e7
|
会員登録メールは name01, name02 しか使ってないので |
カスタマイズで email, company_name あたりを追加するとかは割合あるので、assignarray() で支障なく動作するのであれば、その方がロジック変更無しでカスタマイズできて便利とは思います。 本当は、SC_Helper_Mail::sfSendOrderMail() の ec-cube2/data/class/helper/SC_Helper_Mail.php Line 161 in d9568e7
|
分かりやすいし、使いやすそうです。
assignarray()で動作するなら不要になりそうな気はします。 |
@clicktx @seasoftjapan
|
テンプレート側も標準で -<!--{$name01}--> <!--{$name02}--> 様
+<!--{$arrCustomer.name01}--> <!--{$arrCustomer.name02}--> 様 -<!--{$smarty.const.HTTPS_URL}-->regist/<!--{$smarty.const.DIR_INDEX_PATH}-->?mode=regist&id=<!--{$uniqid}--><!--{$etc_value}-->
+<!--{$smarty.const.HTTPS_URL}-->regist/<!--{$smarty.const.DIR_INDEX_PATH}-->?mode=regist&id=<!--{$arrCustomer.secret_key}--><!--{$etc_value}--> 互換性を考慮すると、ロジックは以下のイメージでしょうか。(動作未検証) $objMailText = new SC_SiteView_Ex();
$objMailText->setPage($this->getPage());
$objMailText->assign('CONF', $CONF);
$objMailText->assign('arrCustomer', $arrCustomerData);
// 旧テンプレート互換用 https://github.com/EC-CUBE/ec-cube2/issues/982
$objMailText->assignarray($arrCustomerData);
$objMailText->assign('uniqid', $arrCustomerData['secret_key']); |
@seasoftjapan 過去のテンプレートもそのまま動くようでしたら、こちらがよさそうですね |
関係するテンプレート、2つあるのですね。 テスト書いたのですが、 両者のテンプレート、宛名部分が若干違っている(姓と名の間に半角スペースあり、なし)のですが、そのままにしています。 |
ec-cube2/data/class/helper/SC_Helper_Mail.php Lines 383 to 389 in d9568e7
本件とは全く関係ないのですが、このメールタイトルの日本語が気になっています。 |
こちらに変更してテスト通りました。 |
関連した Issue を登録しました。#991 |
ec-cube2/data/class/helper/SC_Helper_Mail.php Lines 382 to 383 in fc5a36a
ここの条件式に関してコメント書いたのですが、こちらにも残しておきます。 |
ec-cube2/data/class/helper/SC_Helper_Mail.php
Line 379 in d9568e7
該当部分で警告が出ます。
Warning(E_WARNING): get_object_vars() expects parameter 1 to be object, array given
assignobj()
ではなくassignarray()
を使うのが正しいのでしょうか?$objMailText->assignarray($arrCustomerData);
また、関連して、
assignarray()
で検索すると下記のコードが見た感じArrayを引数にしているのですが、実際にはObjectなので警告が出ません。$objTplVar
などに変数名を変えておいた方が良いのかも知れません。ec-cube2/data/class/helper/SC_Helper_Mail.php
Line 194 in d9568e7
The text was updated successfully, but these errors were encountered: