将视图文件加载到Zend Framework中的变量中

时间:2009-05-28 09:32:47

标签: email zend-framework templates

我正在尝试使用邮件模板发送邮件。为此,我想将.tpl加载到变量中。我不知道是否可以在控制器中设置视图的值,然后将此视图加载到变量中,而不是加载HTML文件并替换占位符。这样我就可以在加载视图之前有一个变量,其中包含用控制器中设置的信息填充的HTML邮件。

我的意思是,任何替代方案都是受欢迎的,如果已经有了以更标准化的方式进行邮件模板化的方法。

2 个答案:

答案 0 :(得分:8)

一个好主意Erik,我已经多次这样做了。

Zend_View实际上只是一个模板系统,可用于生成任何内容,而不仅仅是HTML。

示例代码 - 创建视图,分配一些数据,渲染视图并发送邮件!

$view = $this->getHelper('ViewRenderer')->view;

$view->email = $data['email'];    
$view->password = $data['password'];

$text = $view->render('mail/new-user.php');
$mail = new Zend_Mail();

$mail->addTo($data['email'], $data['forename'] . ' ' . $data['lastname']);
$mail->setSubject('Account Details');
$mail->setBodyText($text, 'utf-8');

$mail->send();

在第一行中,我检索了ViewRenderer的视图,因此我可以访问正常的脚本路径。您可以创建一个新的Zend_View对象,但是您需要手动添加视图脚本的路径。

在我的示例中,生成了基于文本的内容,但您可以生成完全相同的HTML。

答案 1 :(得分:0)

对不起男人(和女孩)。我的谷歌技能一定是注意到它是在清晨。我找到了我在这里寻找的东西: http://myzendframeworkexperience.blogspot.com/2008/09/sending-mails-with-templates.html