3

私は 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 のドキュメント自体はこれについてあまり明確ではありません。

ありがとうございました。

4

2 に答える 2

5

sfAction 内で利用可能なネイティブ メソッドを使用するだけではどうですか。

$this->getPartial('partial_name'); これは、テンプレートの部分ヘルパーのように機能します。

于 2010-03-17T18:13:35.450 に答える
5

メール本文をテンプレート ファイルとして保存し、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 つのフォルダーに入れることができると確信しています。

于 2010-02-12T22:54:11.890 に答える