电子邮件正文中的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系列教程讨论这一点,但它似乎有点过时了新的symfony 1.4集成SwiftMailer,并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()
在体模板位于模块的模板文件夹,但我相信你能以某种方式改变这一点,例如把所有的电子邮件模板到一个文件夹,如果你想。
其他提示
如何只使用本机方法菱内部sfAction。
$这 - > getPartial( 'partial_name');它的工作原理是局部的助手为你的模板。
不隶属于 StackOverflow