在另一个视图中呈现ZF2视图



我不想给action controller中的viewModel添加child:

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

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

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

有可能吗?

这就是Partial视图帮助器所做的(文档似乎过时了,但我将在这里链接它们):

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

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

我知道这是旧的,但你也可以简单地调用$this->render('path/to/view-script')

最新更新