如果从模型中调用视图,如何将Zend Layout与Zend View一起使用?

时间:2009-07-29 19:53:50

标签: zend-view

基本上,我想从模型渲染视图和布局。不要问我为什么。

首先,视图按预期工作,我将它们加载到变量中以供日后使用。我也完全清楚我总能做部分脚本。这似乎是一个有效的后备,但它并没有削减它。

我想要做的是让布局自动运行,就像控制器和视图一样。

现在我雇用这样的东西:

// 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 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

我想我的第一个注意事项就是你要用锤子作为螺丝刀。我相信你知道,在MVC模型中,视图是渲染,并且在逻辑上与模型不同(独立)。我不确定你是否会找到一个快乐的解决方案,因为你正在穿越溪流。