【发布时间】:2012-12-31 19:15:40
【问题描述】:
在 ZF1 中,我使用以下代码来呈现邮件正文:
// View erstellen
$view = new Zend_View();
// Layout erstellen
$layout = new Zend_Layout();
// HelperPath muss hier nochmals übergeben werden da es ein neues View Objekt ist.
$view->addHelperPath('Own/View/Helper', "Own_View_Helper_");
// ViewScript
$view->setScriptPath(APPLICATION_PATH . '/views/scripts/emails/');
// LayoutPath
$layout->setLayoutPath(APPLICATION_PATH . '/layouts/scripts/');
$layout->setLayout('layoutMail');
$layout->setView($view);
foreach ($assigns as $key => $value) {
$view->assign($key,$value);
}
$layout->content = $view->render($templateName);
return $layout->render();
我尝试了很多,但我无法在 ZF2 中实现此功能。我的实际代码是这样的。但它使用标准布局,我无法在字符串中获取它。
public function mailAction()
{
$viewModel = new ViewModel();
$viewModel->setTemplate("zhorty/test");
$viewModel->setVariable('test', 'some value');
return $viewModel;
}
【问题讨论】:
-
出于什么原因需要布局?通常,使用 view 呈现电子邮件正文就足够了。布局(因此一个视图封装了另一个视图)对于电子邮件来说太过分了。
-
@Jurian 我认为,该布局是存储页眉和页脚的好地方,例如徽标和免责声明,每封电子邮件都相同。
标签: php email templates layout zend-framework2