我想定义Zend_Layout应该从Bootstrap类使用哪个布局。这个怎么做?从Bootstrap设置Zend布局
就像从控制器,你可以这样做
$this->_helper->_layout = "somelayout";
我想布局从引导类改变。
我想定义Zend_Layout应该从Bootstrap类使用哪个布局。这个怎么做?从Bootstrap设置Zend布局
就像从控制器,你可以这样做
$this->_helper->_layout = "somelayout";
我想布局从引导类改变。
你可以做到这一点,如下所示:
public function _initLayout() {
$layout = $this->bootstrap('layout')->getResource('layout');
$layout->setLayout('somelayout');
}
你可以深入了解一下它在这些网页:
http://framework.zend.com/manual/en/zend.layout.quickstart.html
http://framework.zend.com/manual/en/zend.layout.options.html
第二个是更有益的,但请确保您在第一页中阅读“在Zend Framework MVC中使用Zend_Layout”。
如果您想从引导程序严格启动布局,您可以执行以下操作。
public function _initMyLayout()
{
$options = array(
'layout' => 'somelayout',
'layoutPath' => '/path/to/layouts',
'contentKey' => 'CONTENT'
};
$layout = Zend_Layout::startMvc($options);
return $layout;
}
上述内容等同于您在.ini文件中指定默认脚本和路径。
它不工作 – mrN 2011-05-13 07:40:24
你能解释为什么你想在bootstrap中做到这一点?它似乎不是正确的地方..也许你正试图解决错误的问题。 – 2011-05-13 05:12:36
@Duncan_m,我正在尝试为单个网站创建不同的布局,这可以动态更改。所以我需要这个。我可以通过一个控制器来完成,但是我会在每个控制器中指定它,而如果我在引导程序中初始化,它会更好 – mrN 2011-05-14 08:24:52