zend 2:尝试在方法之间传递ViewModel

时间:2014-03-11 15:00:52

标签: templates zend-framework2

我花了一些时间试图找出如何实现子菜单栏并最终决定我真正想要的是一个小帮助方法,将我的模板附加到当前视图而不是实际的视图助手:

//To use in any action requiring the sub navbar to be displayed
protected function addSubNav(ViewModel $view) {
    $subNavView = new ViewModel();
    $subNavView->setTemplate('helpdesk/helpdesk/subNav');
    $view->addChild($subNavView, 'subNav');

    return $view;
}

但是当我用这样的方法调用它时,我的模板中的$ this-> subNav为空:

public function indexAction() {
    //return new ViewModel();
    $this->addSubNav(new ViewModel());
}

当在index.phtml中执行$ this-> subNav为NULL时,为什么会这样?

addSubNav()应该返回我附加模板的视图。

1 个答案:

答案 0 :(得分:2)

在行动结束时,您不会将视图模型返回

public function indexAction() {
    return $this->addSubNav(new ViewModel());
}