我在想 - 如何在Zend中實現複合視圖。也就是說,我可以在一個頁面上擁有多個視圖和控制器嗎?我知道你可以使用佈局並將一個控制器的內容注入到佈局中,但無論如何要將多個控制器注入到特定的佈局中?如何在Zend中實現複合視圖?
在此先感謝。
我在想 - 如何在Zend中實現複合視圖。也就是說,我可以在一個頁面上擁有多個視圖和控制器嗎?我知道你可以使用佈局並將一個控制器的內容注入到佈局中,但無論如何要將多個控制器注入到特定的佈局中?如何在Zend中實現複合視圖?
在此先感謝。
我不認爲你可以在一個佈局中使用多個控制器,有更多經驗的人可能會糾正我這一點。
我看不到任何理由,但你會想!
您可以使用$this->partial()
視圖幫助程序添加部分視圖,或者添加您自己的視圖幫助程序以將內容添加到佈局。如果需要,只要只讀取數據以進行顯示,就沒有理由不直接在視圖中訪問模型。我用這種方式實現了側邊欄,登錄表單和導航菜單,沒有任何問題。
我希望這會有所幫助。
此致
加里
TestController.php
public function testAction()
{
$this-view->test = 'hi';
}
test.phtml
<?php
echo $this->test;
?>
layout.phtml
$this->layout()->test = $this->action('testAction','TestController')
echo $this->layout()->test;
欲瞭解更多信息,請Apress.Pro.Zend.Framework.Techniques.Build.a.Full.CMS.Project
嗯...有[這個幫手](http://framework.zend.com /manual/en/zend.view.helpers.html#zend.view.helpers.initial.action),但我們不敢說出它的名字。部分和視圖助手是要走的路。 – Phil 2011-05-31 05:56:11
視圖動作助手是壞的,沒錯,還有動作堆棧的思維方式,但一些狂熱者正在努力解釋爲什麼actionStack並不那麼糟糕。 ActionStack使dispatchLoop&plugin操作更加複雜,難以理解。恕我直言,我認爲ActionStack是好的,因爲它很容易在ESI門或ajax模式組合中轉換,但似乎社區現在正在燒老的工具。 – regilero 2011-05-31 11:51:16
是的,我同意,我可能會堅持自定義視圖助手。謝謝 – 2011-05-31 15:21:53