質問 > 管理機能 > ec-cube4で受注ステータスを変更した際にテンプレートメール を送信したい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tdr_user |
投稿日時: 2020/2/7 16:10
対応状況: −−−
|
新米 登録日: 2019/12/17 居住地: 投稿: 5 |
ec-cube4で受注ステータスを変更した際にテンプレートメール を送信したい [EC-CUBE] EC-CUBE4 新規
[レンタルサーバ] さくら [OS] Windows10 [PHP] 7.3.9 [データベース] MYSQL 質問させていただきます。 現在、受注ステータスを新しく追加し、 そのステータスに切り替えた場合にメールが送られるように、 カスタマイズを行なっています。 下記サイトを参考に、 新しい受注ステータスを追加致しました。 メール 配信も可能になったのですが、 そのメール 内容に関してお伺いしたいことがあります。 受注メールの本文に関しまして、 下記サイトでは固定の文字列で適宜されているのですが、 固定文字列ではなくEC-CUBE4のメール テンプレートの形式で、 送信することは可能でしょうか。 メール テンプレート自体は新しく追加してあります。 また、 それが難しいのであれば、 下記情報を含めたメールを送信したいと思っております。 ・購入日時 ・注文番号 ・支払い合計 ・支払い方法 ・購入商品詳細(商品名・小計・送料・合計) ・注文者情報(氏名・住所など) ・配送先情報(氏名・住所・商品など) 注文情報は $Order = $event->getSubject()->getOrder(); で取れているので、 注文者や、メールアドレス、住所等は取得して送信できたのですが、 配送先の情報(おそらく$Shipping)が取得できずにおります。 どなたかご助力頂けないでしょうか。 https://qiita.com/chihiro-adachi/items/8d4988e784603d9517af |
umebius |
投稿日時: 2020/2/7 18:22
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: ec-cube4で受注ステータスを変更した際にテンプレートメール を送信したい メールテンプレートから本文作る方法は既存のソースを見れば参考になると思います。
下記は会員登録のメールですが、同じ様なことです。 https://github.com/EC-CUBE/ec-cube/blob/4.0.3/src/Eccube/Service/MailService.php#L168-L173 ファイルは src/Eccube/Servic/MailService.php
|
tdr_user |
投稿日時: 2020/2/8 2:10
対応状況: −−−
|
新米 登録日: 2019/12/17 居住地: 投稿: 5 |
Re: ec-cube4で受注ステータスを変更した際にテンプレートメール を送信したい ご返信ありがとうございます。
配送情報が欲しいのでsendShippingNotifyMailを参考にし、 メールテンプレートを読み込むように 今回追加したOrderStateMachine.phpに追記したのですが、 $MailTempateの読み込みでエラーが発生し、 うまく行きませんでした。 メール送信処理は、 MailiService.phpに書くようにした方がいいのでしょうか? また、 $Shippingのデータの取得はどうやればよいのでしょうか・・・ public function sendShippingNotifyMail(Shipping $Shipping) { log_info('出荷通知メール送信処理開始', ['id' => $Shipping->getId()]); $MailTemplate = $this->mailTemplateRepository->find($this->eccubeConfig['eccube_shipping_notify_mail_template_id']); /** @var Order $Order */ $Order = $Shipping->getOrder(); $body = $this->getShippingNotifyMailBody($Shipping, $Order, $MailTemplate->getFileName()); 申し訳ございませんが、 何卒宜しくお願い致します。 |
umebius |
投稿日時: 2020/2/8 21:52
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: ec-cube4で受注ステータスを変更した際にテンプレートメール を送信したい >$MailTempateの読み込みでエラーが発生し、
どのようなエラーでしょうか? $this->mailTemplateRepositoryがNULLというエラーであれば __constructで代入してやる必要がありますね。 それは参考サイトでも他のプロパティの代入されているので真似してみてください。 >$Shippingのデータの取得はどうやればよいのでしょうか・・・ $Order が取得できているなら $Order->getShippings()でShippingのコレクションが取得できるかと思います。
|
tdr_user |
投稿日時: 2020/2/14 4:33
対応状況: −−−
|
新米 登録日: 2019/12/17 居住地: 投稿: 5 |
Re: ec-cube4で受注ステータスを変更した際にテンプレートメール を送信したい ご連絡が遅れ、申し訳ございません。
メールテンプレートの取得はうまく行きませんでしたが、 getshippingsで配送先等の情報を取得することが出来ました。 テンプレートに関しては自分の課題として、頑張りたいと思います。 また何かありましたら質問させて頂きます。 有難うございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |