zf2中最正确的方法是在从另一个控制器扩展的控制器之间共享视图。让我们说控制器A和B. A扩展B:
class AController extends BController{
}
class BController{
public action shareAction(){
}
}
1路,在模块配置中输入指向B共享视图的动作共享的视图路径;
'template_map' => array(
'a/index/index' => __DIR__ . '/../view/a/index.phtml',
'a/share/index' => __DIR__ . '../../../../view/b/share/share.phtml',//SCALE TO REACH B VIEW
2路,在模块配置中输入指向本地视图路径的动作共享的视图路径
'template_map' => array(
'a/index/index' => __DIR__ . '/../view/a/index.phtml',
'a/share/index' => __DIR__ . '../view/a/share/share.phtml',
和put的share.phtml:
echo $this->partial('b/share/index')
或者,如果有另一种最佳方式,哪个?
答案 0 :(得分:2)
您也可以逐个操作更改模板:
public function testAction()
{
// If you wanted to change the actual base layout template:
//$this->layout()->setTemplate('my/layout/base-layout.phtml');
$viewModel = new ViewModel();
$viewModel->setTemplate('my/template/here');
return $viewModel;
}
您选择的方法取决于您希望如何/为什么要这样做,如果有覆盖或天气的模式,则更多是基于adhoc。如果您打算以特别的方式更改模板,那么上面就好了