受注メールや確認メールなど、ヘッダーに購入者の名前を入れたいなーという時がありますよね。Mail/order.twigをいじってもいいのですが、いちいちテンプレートファイルを編集するのは手間なのでヘッダーでテンプレートごとに変更できたらなーという時がよくあります。

そんな時に使える方法がヘッダーにtwigを書いてOrder変数を動的に使えるようにしてしまうことです。色々なやり方がありますが一例をご紹介します。

カート注文時の受注メール

MailServiceのsendOrderMailメソッド、sendAdminOrderMailでヘッダーのtwigをコンパイルしてから本文の生成に渡してやります。

管理画面の受注メールフォーム

次に管理画面から受注メールフォームを送信する場合には、メール送信フォームのヘッダー部分に最初からコンパイルしたものを渡してやります。

管理画面の一括送信にも対応

一括送信に対応するにはMailControllerのcreateBodyメソッドにもtwigのコンパイルを実装します。