【EC-CUBE4】管理画面のメール設定でテンプレートを増やす方法

お疲れ様です!ドスブイサポート高橋しゃちょーです。

今回はお客様から依頼のあった、メールのテンプレートに振込先情報を追加したいという事で新たにメールテンプレートを追加していきたいと思います

デフォルトで設定されているメールテンプレート

  • 注文受付メール
  • 会員仮登録メール
  • 会員本登録メール
  • 会員退会メール
  • 問合受付メール
  • パスワードリセット
  • パスワードリマインダー
  • 出荷通知メール

以上が最初から作ってくれていますが、充分なテンプレートですがまだ追加したい案件もあると思います。

では、早速増やし方をご説明します。

メールテンプレートの増やし方

では現状のこのメールテンプレートのある場所にテンプレートを増やしてあげることから始めます

手順①テンプレートファイルを複製

/src/Eccube/Resource/template/default/Mail

こちらがメールテンプレートです。

ここに新しくメールテンプレートを追加しましょう。
どれでもいいので複製してファイル名の変更をします。

今回は「pay.twig」とします

また、別途html形式でのメールも作成する場合は同じく、「pay.html.twig」も作成してください。

手順②データベースにカラム追加

次に、先ほど作成したpay.twigをDBから読み込ませる作業が必要になります

DBにアクセスしてください。メールテンプレートの情報は

dtb_mail_template

こちらのテーブルに入ってますので、新しくカラム追加します

「file_name」の箇所をMail/pay.twig とします。

以上で管理画面からメール設定でテンプレートが増えています。

手順③ 管理画面からメールテンプレートを選べるようにする

「受注管理」のページで選択できるテンプレートに制限がかかっているので、作成したテンプレートを選択することができません。そのため、この制限を外す必要があります。

下記のファイルを編集します。
/src/Eccube/Form/Type/Admin/OrderMailType.php

->andWhere('mt.id = :id')
->setParameter('id', $this->eccubeConfig['eccube_order_mail_template_id'])

こちらの2行をコメントアウトしてください!
そうしないと注文受付から送信するメールテンプレートが新規受付のみになり
選べないので注意です。

以上

まとめ

今回はEC-CUBE4で別のメールテンプレートを作成する方法を記載致しました。
割と簡単に出来るカスタマイズなので、お役立てください。

最後までご覧いただきまして誠に有難うございました。