Как я могу использовать Zend Layout с Zend View, если я вызываю вид из модели? - PullRequest
0 голосов
/ 29 июля 2009

По сути, я хочу визуализировать вид и макет из модели. Не спрашивай меня почему.

Прежде всего, представления работают как задумано, и я загружаю их в переменную для моего извращенного использования позже. Я также полностью осознаю, что я всегда мог делать частичные сценарии. Похоже, это действительный запасной вариант, но он не сокращает его.

Я хочу, чтобы макет работал автоматически, как в случае с контроллерами и представлениями.

Сейчас я использую что-то вроде этого:

// 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 ]

2 голосов
/ 15 декабря 2009

Предполагая, что ваш макет где-то по умолчанию содержит $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/

0 голосов
/ 29 июля 2009

Я думаю, что моей первой запиской должно быть то, что вы пытаетесь использовать молоток в качестве отвертки. Как я уверен, вы знаете, что в модели MVC представление является рендерингом и логически отличается от модели. Я не уверен, что вы найдете удачное решение для этого, так как вы пересекаете потоки.

...