> 管理機能 > 受注メールの送信先について |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
cima |
投稿日時: 2016/11/21 22:49
対応状況: −−−
|
新米 登録日: 2016/11/20 居住地: 投稿: 3 |
Re: 受注メールの送信先について umebius様 ありがとうございます。
$productTypes = $Order->getProductTypes(); $orderMailArr = array( 1 => '商品種別1の時に送信したいアドレス', 2 => 商品種別2の時に送信したいアドレス', 3 => '商品種別3の時に送信したいアドレス', ); if (count($productTypes)) { foreach($productTypes as $ProductType){ if(array_key_exists($ProductType->getId(), $orderMailArr)){ $orderMailadls = $orderMailArr[$ProductType->getId()]; break; } } } $message = \Swift_Message::newInstance() ・ ->setBcc($orderMailadls) ・ ・ で実現できました。 アドバイスを頂く前は、一旦あきらめて ShoppingService.php側の sendOrderMail(Order $Order) の方で $productTypes = $this->orderService->getProductTypes($Order); $orderMailArr = array( 1 => 1, 2 => 2, 3 => 3, ); if (count($productTypes)) { foreach($productTypes as $ProductType){ if(array_key_exists($ProductType->getId(), $orderMailArr)){ $orderMailadls = $orderMailArr[$ProductType->getId()]; break; } } } if($orderMailadls==1) { $message = $this->app['eccube.service.mail']->sendOrderMail($Order); } else if($orderMailadls==2) { $message = $this->app['eccube.service.mail']->sendOrderMail2($Order); } else if($orderMailadls==3) { $message = $this->app['eccube.service.mail']->sendOrderMail3($Order); } else { $message = $this->app['eccube.service.mail']->sendOrderMail($Order); } として、MailService.phpに渡し MailService.php側で、 public function sendOrderMail(\Eccube\Entity\Order $Order) 部分をまるごとコピペして public function sendOrderMail2 public function sendOrderMail3 を追加し、 それぞれ、 ->setBcc に、送信したいアドレスを直に指定することで一応、実現はできていました。 これは、メゾットを増やすことで、他に影響を及ぼす箇所があるかもしれない・・・ と不安に思っていました。 アドバイスを頂き、再度、チャレンジしたところ MailService.phpのみで実現することができました。 ありがとうございました。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
受注メールの送信先について | cima | 2016/11/20 2:00 |
Re: 受注メールの送信先について | umebius | 2016/11/21 16:44 |
» Re: 受注メールの送信先について | cima | 2016/11/21 22:49 |