Model view controller 如何在Zend中实现复合视图?

Model view controller 如何在Zend中实现复合视图?,model-view-controller,zend-framework,view,Model View Controller,Zend Framework,View,我想知道-如何在Zend中实现复合视图。也就是说,我可以在一个页面上有多个视图和控制器吗?我知道您可以使用布局并将一个控制器的内容注入布局中,但是否仍可以将多个控制器注入特定布局中 提前感谢。我不认为您可以在一个布局中使用多个控制器,有经验的人可能会在这方面纠正我 我看不出你为什么要这么做 您可以使用$this->partial()视图帮助程序添加局部视图,也可以添加自己的视图帮助程序,将内容添加到布局中。如果需要,您没有理由不能直接在视图中访问模型,只要它们只是为了显示而读取数据。我以这种方式

我想知道-如何在Zend中实现复合视图。也就是说,我可以在一个页面上有多个视图和控制器吗?我知道您可以使用布局并将一个控制器的内容注入布局中,但是否仍可以将多个控制器注入特定布局中


提前感谢。

我不认为您可以在一个布局中使用多个控制器,有经验的人可能会在这方面纠正我

我看不出你为什么要这么做

您可以使用
$this->partial()
视图帮助程序添加局部视图,也可以添加自己的视图帮助程序,将内容添加到布局中。如果需要,您没有理由不能直接在视图中访问模型,只要它们只是为了显示而读取数据。我以这种方式实现了侧栏、登录表单和导航菜单,没有任何问题

我希望这有帮助

问候

Garry

TestController.php

public function testAction()
{
  $this-view->test = 'hi';
}
test.phtml

<?php
  echo $this->test;
?>

有关更多信息,请查看Apress.Pro.Zend.Framework.technologies.Build.a.Full.CMS.Project

以及。。。有,但我们不敢说出它的名字。部分和视图助手是解决问题的方法。视图-操作助手是不好的,没错,还有操作堆栈的思维方式,但一些狂热者正在投票否决答案,试图解释为什么操作堆栈不是那么坏。ActionStack使dispatchLoop和插件操作更加复杂,难以理解。IMHO我认为ActionStack很好,因为它很容易在ESI门或ajax模式组合中转换,但社区似乎正在烧掉旧的工具。是的,我同意,我可能会坚持使用自定义视图助手。谢谢
 $this->layout()->test = $this->action('testAction','TestController')
 echo $this->layout()->test;