ZF1 में मैं एक मेल शरीर प्रस्तुत करना के लिए निम्न कोड का प्रयोग किया: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();
मैं बहुत कोशिश की, लेकिन मैं ZF2 में इस समारोह का एहसास नहीं कर सकते हैं। मेरा वास्तविक कोड यह है। लेकिन यह मानक लेआउट का उपयोग करता है और मैं इसे एक स्ट्रिंग में नहीं प्राप्त कर सकता।
public function mailAction()
{
$viewModel = new ViewModel();
$viewModel->setTemplate("zhorty/test");
$viewModel->setVariable('test', 'some value');
return $viewModel;
}
किस कारण से आपको ** लेआउट ** की आवश्यकता है? आम तौर पर एक ** दृश्य ** के साथ एक ईमेल के शरीर का प्रतिपादन पर्याप्त है। एक लेआउट (इसलिए एक दृश्य दृश्य encapsulating) ईमेल के लिए afaik overdone है। –
@ जूरियन मुझे लगता है कि यह लेआउट हेडर और फ़ूटर को स्टोर करने के लिए एक अच्छी जगह है, जैसे लोगो और अस्वीकरण, जो प्रत्येक ई-मेल के लिए समान हैं। चीनी में एक लिंक के लिए – Lauris