W ZF1 Użyłem poniższy kod, aby uczynić ciało mail:Jak renderować szablon wiadomości z układem w ZF2?
// 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();
Próbowałem wiele, ale nie mogę zrozumieć tę funkcję w ZF2. Mój aktualny kod jest taki. Ale używa standardowego układu i nie mogę go uzyskać w ciągu znaków.
public function mailAction()
{
$viewModel = new ViewModel();
$viewModel->setTemplate("zhorty/test");
$viewModel->setVariable('test', 'some value');
return $viewModel;
}
Z jakiego powodu potrzebujesz ** układu **? Zwykle renderowanie treści wiadomości e-mail z ** widokiem ** jest wystarczająco dobre. Układ (więc widok obejmujący inny widok) jest zbyt dobry dla wiadomości e-mail. –
@Jurian Myślę, że ten układ jest dobrym miejscem do przechowywania nagłówka i stopki, takich jak logo i zastrzeżenie, które są takie same dla każdego e-maila. – Lauris