更改 Zend Framework 2.0 控制器中的布局

2022-08-30 16:21:04

我正在学习 ZF2.0 测试版。在 ZF1 中,我们可以在控制器中动态更改布局:

Zend_Layout::getMvcInstance()->setLayout('layoutname');

但是在ZF2.0中,Zend\Layout类没有方法getMvcInstance()。我认为它可以使用依赖注入来制作,但不确定。


答案 1

采埃孚2正在大力开发中,不能保证它现在的工作方式,当采埃孚2达到稳定状态时,它将是它的工作方式。

但是,Zend\Mvc 中的新视图图层最近已合并,因此您现在应该能够执行此操作(使用当前主节点):

public function somethingAction () 
{
    // Do some intelligent work

    $this->layout('layout/different');
}

答案 2
public function someAction() {
    $layout = $this->layout();
    $layout->setTemplate('layout/custom');
    $viewModel = new ViewModel();
    return $viewModel;
}

推荐