ZF2视图渲染在另一个视图中

时间:2013-03-18 23:39:37

标签: php zend-framework2

我不想将child添加到动作控制器中的viewModel:

// action controller
public function indexAction() {
    $result = new ViewModel();
    $result->setTemplate('application/view/another-action');

    $comments = new ViewModel();
    $comments->setTemplate('application/view/child-comments');
    $result->addChild($comments, 'child_comments');

    return $result;
}
...
// View
<div>
<?php echo $this->child_comments ?>
</div>

我想在另一个视图中包含视图:

<div>
  <?php
  $view = new ViewModel();
  $view->setVariables($this->var);
  $view->setTemplate('page_nav.phtml');
  // here I want to render view 
  ?>
</div>

有可能吗?

2 个答案:

答案 0 :(得分:1)

我知道这已经过时了,但你也可以简单地拨打$this->render('path/to/view-script')

答案 1 :(得分:0)

这是Partial视图助手所做的事情(文档似乎已过时,但无论如何我会链接它们here):

<div>
    <?php echo $this->partial('page_nav', array('var' => $this->var)) ?>
<div>

显然,您的page_nav应该由您的视图解析器知道。