2017-02-01 10 views
1

私は、カスタムtwigテンプレートを使用する電子メールを送信するためのswiftmailerモジュールの統合方法を学ぶ非常に簡単なモジュールを構築しました。Swiftmailerを使用したカスタムDrupal 8モジュールはtwigテンプレートを無視します

ここにあるデフォルトではSwiftMailerの小枝テンプレートのコピー

* This template may be overriden by module and/or mail key, using any of the 
* following template names: 
* - swiftmailer.html.twig: global, used by default. 
* - swiftmailer--mymodule.html.twig: only emails sent by the module "mymodule". 
* - swiftmailer--mymodule--test.html.twig: only emails by the module 
* "mymodule" with key "test". 
* 

小枝ファイルの名前はではSwiftMailerです - emailtester: http://cgit.drupalcode.org/swiftmailer/tree/templates/swiftmailer.html.twigはわずか指示に従って変更と改名されましたが、ファイル自体の中に含ま.html.twigは、アクティブなテーマ/ mytheme/templatesフォルダ内にあります。

私はemailtester.module以内に電子メールを送信し、コア、テンプレートパスにThemeManager.php、twig.engine.php、およびRender.phpファイル内作られているの呼び出しを歩くの呼び出しを実行します/modules/contrib/swiftmailer/templates/swiftmailer.html.twigファイルにあり、/themes/mytheme/templates/swiftmailer--emailtester.html.twigファイルではありません。

drush crを使用してキャッシュをクリアし、config-> performanceセクション内のすべてのキャッシュをクリアしました。また、テーマレジストリもクリアしてみましたが、swiftmailerが常にグローバルテンプレートファイルを使用することに変わりはありません。

ご意見をいただければ幸いです。

歓声、

デビン

+0

この時点でまったく同じ問題が発生しています。これはこれまでに解決されましたか?もし私が見つけたら、私は解決策を投稿します! –

+0

twigデバッグコメントを有効にして、結果の電子メールhtmlを確認します。あなたのテンプレート名はファイルネーム提案の下にリストされていますか? –

答えて

2

あなたは電子メールテンプレートに使用する間違ったテーマ選択した可能性があります:あなたは「現在」を選択し、メールがしばらく送信の場合

enter image description here

を管理ページにあり、管理テーマのswiftmailerテンプレートのみが使用されます。だからあなたのカスタムswiftmailerのtwigファイルを含むテーマを選択してください。これがあなたの標準的なフロントエンドテーマであれば、 "Default"を選択することができます。

もちろん、SwiftmailerをFormatterとして設定する必要があります。

関連する問題