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

时间:2011-05-30 21:53:22

标签: model-view-controller zend-framework view

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

提前致谢。

2 个答案:

答案 0 :(得分:3)

我认为你不能在一个布局中使用多个控制器,有经验的人可能会纠正我。

我看不出你想要的任何理由!

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

我希望这会有所帮助。

亲切的问候

加里

答案 1 :(得分:1)

TestController.php

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

test.phtml

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

layout.phtml

 $this->layout()->test = $this->action('testAction','TestController')
 echo $this->layout()->test;

有关详细信息,请查看Apress.Pro.Zend.Framework.Techniques.Build.a.Full.CMS.Project