作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想为发送的电子邮件使用布局。我目前正在为网页使用 Zend Layout,但也想为我的电子邮件设置主题。
这是我试过的。
这是我发送邮件的功能
$layout = Zend_Layout::getMvcInstance();
$this->_view->render($template);
$html = $layout->render('email');
$this->setBodyHtml($html,$this->getCharset(), $encoding);
$this->send();
邮件布局很简单
The email content
<?php echo $this->layout()->content; ?>
当它以电子邮件的形式出现时,它只是...
The email content
最佳答案
您的原始方法非常接近;然而,您必须在 Zend_Layout
上执行一些额外的步骤才能获得您想要的内容:
$layout = Zend_Layout::getMvcInstance();
$layout->setLayout('email')
->disableLayout();
$layout->content = $this->_view->render($template);
$html = $layout->render();
$this->setBodyHtml($html, $this->getCharSet(), $encoding)->send();
对 Zend_Layout::disableLayout()
的调用阻止了布局呈现的直接输出,而是允许您将呈现的布局存储在 $html
变量中。然后,您必须手动将 Zend_View
模板的渲染存储到 Zend_Layout::content
变量中。之后,一切就绪。
您还可以使用 Zend_Layout::setView
在布局中设置 Zend_View
的实例,这样当您呈现布局时,您可以访问 View 变量。您也可以编写一个 View 助手来处理这个问题。
关于php - 如何在 Zend Framework 中使用电子邮件布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3295184/
我是一名优秀的程序员,十分优秀!