Zend动态设置布局


Zend dynamically set layout

我对Php和Zend很陌生。我有一个动态设置布局的问题。

我有一个控制器和一个控制视图的动作。该视图有两个选项卡,分别称为"tabA"answers"tabB"。我想用改变布局

$this->layout()->setLayout('other-layout'); 

当我切换到"tabA"时,但在切换到"tabB"时保持默认布局。我该怎么做?

您不能基于选项卡更改视图文件中的布局。。。选项卡只是由javascript控制的"ul"。。。布局更改是服务器端的问题。。。选项卡在客户端更改。我建议使用ajax。如果您想通过ajax更改整个页面布局(这不是一个好方法),您可以这样做:假设应该更改页面布局的选项卡具有id="tab1"。。所以:

<script>
 $('#tab1').on('click' ,function(){
  $(document).load('/sample_controller/sample_action');
})
</script>

sample_action与您现在所处的操作完全相同。但在它的最后一行中,您有这样的内容:

$this->_helper->layout->setLayout('other-layout');