По сути, я хочу визуализировать вид и макет из модели. Не спрашивайте меня, почему.
Во-первых, представления работают так, как задумано, и позже я загружаю их в переменную для своего извращенного использования. Я также полностью осознаю, что всегда могу делать частичные сценарии. Кажется, что это подходящий запасной вариант, но это просто не помогает.
Я хочу, чтобы макет работал автоматически, как в случае с контроллерами и представлениями.
Сейчас я использую что-то вроде этого:
// Class blablabla
$layout = new Zend_Layout();
$layout->enableLayout();
$layout->setView($view);
// Ugly url, I know, I'm experimenting and they work
$body = $layout->render('mailer/layout/mail');
$body .= $view->render('mailer/templates/' . $type . '.phtml');
Проблема в том, что $ body содержит макет и только затем фактическое представление. Любой совет? Что я делаю неправильно?
2 ответа
Предполагая, что ваш макет содержит где-то значение по умолчанию $this->layout()->content
, вам нужно следующее:
$layout->content = $view->render('...');
$body = $layout->render('...');
Источник: http://www.wowww.ch/2009/03/16/zend-mail-avec-template-standardise-avec-zend-layout-et-zend-view/
Думаю, первое, что я хочу сказать, это то, что вы пытаетесь использовать молоток вместо отвертки. Как я уверен, вы знаете, что в модели MVC представление - это рендеринг, и оно логически отличается (отдельно) от модели. Я не уверен, что вы найдете удачное решение этой проблемы, поскольку вы переходите ручьи.
Похожие вопросы
Новые вопросы
zend-view
предоставляет слой «Вид» системы MVC Zend Framework 2. Это многоуровневая система, позволяющая использовать различные механизмы расширения, замены и многого другого.