バージョン選択

フォーラム

メニュー

オンライン状況

103 人のユーザが現在オンラインです。 (89 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 103
もっと...

サイト内検索

質問 > 管理機能 > 対応状況「対応中」にした際にメールを自動で送信させたい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
rokuatsu
投稿日時: 2022/10/1 12:00
対応状況: −−−
新米
登録日: 2022/9/14
居住地:
投稿: 5
対応状況「対応中」にした際にメールを自動で送信させたい
▼テンプレート
[EC-CUBE] EC-CUBE4.1.2
[サーバ] さくらのクラウド
[PHP] 7.4.30
[データベース] PostgreSQL
[WEBサーバ] Apache/2.4.37

お世話になっております。
標題の件でご相談させてください。

扱う商品の性質上、対応状況を「新規受付」もしくは「入金済み」から「対応中」にした際に注文者に通知のメールが自動送信されるように設定したいと考えております。
自動送信されるメールのテンプレートは作成し、管理画面にも反映されたことを確認済みの状態です。

また、調べた記事を参考にして
app/Customize/Service/OrderStateMachine.php を
下記コードで作成したところ、ステータスの変更と同時にメールの送信させることは実現できました。

コード内34行目あたりで直接入力しているタイトルおよび本文に作成したメールのテンプレートを当てることは可能でしょうか??

また方法がございましたらご教示いただけますと幸いでございます。

どうぞよろしくお願いいたします。



<?php

namespace Customize\Service;

use Eccube\Repository\BaseInfoRepository;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Workflow\Event\Event;

class OrderStateMachine implements EventSubscriberInterface
{
/**
* @var \Swift_Mailer
*/
private $mailer;

/**
* @var BaseInfoRepository
*/
private $baseInfoRepository;

public function __construct(\Swift_Mailer $mailer, BaseInfoRepository $baseInfoRepository)
{
$this->mailer = $mailer;
$this->baseInfoRepository = $baseInfoRepository;
}

public static function getSubscribedEvents()
{
return [
'workflow.order.transition.packing' => ['packing'],
];
}

public function packing(Event $event)
{
$BaseInfo = $this->baseInfoRepository->get();
$Order = $event->getSubject()->getOrder();
$subject = '['.$BaseInfo->getShopName().'] テストタイトル';
$body = 'テスト本文';

$message = (new \Swift_Message())
->setSubject($subject)
->setFrom([$BaseInfo->getEmail01() => $BaseInfo->getShopName()])
->setTo([$Order->getEmail()])
->setBcc($BaseInfo->getEmail01())
->setReplyTo($BaseInfo->getEmail03())
->setReturnPath($BaseInfo->getEmail04());
$message->setBody($body);
$this->mailer->send($message);
}
}


mcontact
投稿日時: 2022/10/5 14:54
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1295
Re: 対応状況「対応中」にした際にメールを自動で送信させたい
引用:

rokuatsuさんは書きました:
▼テンプレート
[EC-CUBE] EC-CUBE4.1.2
[サーバ] さくらのクラウド
[PHP] 7.4.30
[データベース] PostgreSQL
[WEBサーバ] Apache/2.4.37

お世話になっております。
標題の件でご相談させてください。

扱う商品の性質上、対応状況を「新規受付」もしくは「入金済み」から「対応中」にした際に注文者に通知のメールが自動送信されるように設定したいと考えております。
自動送信されるメールのテンプレートは作成し、管理画面にも反映されたことを確認済みの状態です。

また、調べた記事を参考にして
app/Customize/Service/OrderStateMachine.php を
下記コードで作成したところ、ステータスの変更と同時にメールの送信させることは実現できました。

コード内34行目あたりで直接入力しているタイトルおよび本文に作成したメールのテンプレートを当てることは可能でしょうか??

また方法がございましたらご教示いただけますと幸いでございます。

どうぞよろしくお願いいたします。



<?php

namespace Customize\Service;

use Eccube\Repository\BaseInfoRepository;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Workflow\Event\Event;

class OrderStateMachine implements EventSubscriberInterface
{
/**
* @var \Swift_Mailer
*/
private $mailer;

/**
* @var BaseInfoRepository
*/
private $baseInfoRepository;

public function __construct(\Swift_Mailer $mailer, BaseInfoRepository $baseInfoRepository)
{
$this->mailer = $mailer;
$this->baseInfoRepository = $baseInfoRepository;
}

public static function getSubscribedEvents()
{
return [
'workflow.order.transition.packing' => ['packing'],
];
}

public function packing(Event $event)
{
$BaseInfo = $this->baseInfoRepository->get();
$Order = $event->getSubject()->getOrder();
$subject = '['.$BaseInfo->getShopName().'] テストタイトル';
$body = 'テスト本文';

$message = (new \Swift_Message())
->setSubject($subject)
->setFrom([$BaseInfo->getEmail01() => $BaseInfo->getShopName()])
->setTo([$Order->getEmail()])
->setBcc($BaseInfo->getEmail01())
->setReplyTo($BaseInfo->getEmail03())
->setReturnPath($BaseInfo->getEmail04());
$message->setBody($body);
$this->mailer->send($message);
}
}




注文管理画面を参考に実装してみては如何でしょうか?

注文管理でメール送信を実装しているController部は下記かと思います。
https://github.com/EC-CUBE/ec-cube/blob/4.1/src/Eccube/Controller/Admin/Order/MailController.php
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,865名です
総投稿数は109,999件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.