我想定義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