gpt4 book ai didi

php - 如何在 Zend Framework 中使用电子邮件布局

转载 作者:可可西里 更新时间:2023-11-01 00:52:56 26 4
gpt4 key购买 nike

我想为发送的电子邮件使用布局。我目前正在为网页使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com