メール本文のSymfony 1.4メーラーでは?
-
20-09-2019 - |
質問
私は、電子メールのために必要な様々なビットを構築し、使用してそれを送信symfonyの1.4メーラーを使用しています
$this->getMailer()->composeAndSend($sender, $recipient, $subject, $body);
電子メールの本文では、私は今、私は自分の行動でこれを持っているかもしれませんが、アクションで生成された変数を利用することができする必要があります。
$body = 'Your username is '.$username.' and this is the email body.';
誰もがさまざまな電子メールの本文を整理/保存するのではなく、自分の行動にまっすぐに、このようにそれらをコーディングすることのエレガントな方法を知っていますか?私は多くの電子メールテンプレートを持つことになりますし、また、複数の言語でそれらを持つことになります。
私はこれを議論古いaskeetのチュートリアルを見つけたが、それはややではSwiftMailerの新しいsymfonyの1.4統合と古くなっているようだ、とではSwiftMailerのドキュメント自体は、この上の非常に明確ではありません。
ありがとうございます。
解決
私は、テンプレートファイルとして電子メール本体を格納し、 sfPartialView
。例えば。アクション内部ます:
$view = new sfPartialView($this->getContext(), $this->getModuleName(), $this->getActionName(), 'confirmation_mail');
$view->setTemplate('_confirmation_mail.php');
// values can be set e.g. by setAttibute
$view->setAttribute('name', $name);
$body = $view->render()
ボディテンプレートは、モジュールのテンプレートフォルダにありますが、私は、あなたが何らかの形でこれを変更し、例えばすることができます確信していますあなたがしたい場合は、1つのフォルダにすべての電子メールテンプレートを入れます。
他のヒント
どのようにちょうどsfAction内部のフィットネスエクササイズネイティブメソッドを使用について。
の$ this - > getPartial( 'partial_name');これはあなたのテンプレートのための部分的なヘルパーのように動作します。
所属していません StackOverflow