隨着Zend_Navigation「動態」麪包屑,我可以這樣做如何創建Zend的導航
Home > Projects > Collaborators
,但如果我想要的東西更實用
Home > Project name > Collaborator name
我怎樣才能達致這?這是個好主意嗎?可能會有性能問題?因爲它需要查詢層次結構?但不管它是什麼,我怎麼能做到這一點?
隨着Zend_Navigation「動態」麪包屑,我可以這樣做如何創建Zend的導航
Home > Projects > Collaborators
,但如果我想要的東西更實用
Home > Project name > Collaborator name
我怎樣才能達致這?這是個好主意嗎?可能會有性能問題?因爲它需要查詢層次結構?但不管它是什麼,我怎麼能做到這一點?
示例#34顯示瞭如何將視圖部分用於麪包屑。我會做一個foreach
上$this->pages
並在需要時調整
最簡單的方法是使麪包屑,然後附加到這個字符串的合作者的名字。
這個工程,除非你不需要它在導航或網站地圖。否則,您必須手動將其添加到容器。
$this->navigation()
->getContainer()
->findOneByLabel('Colaborators')
->addPage(array('label'=>'name', 'uri'=>'/name'));
這確實有助於爲我的某個網站創建動態網站地圖。謝謝。 – 2014-07-16 16:07:28
也許這是一個有點晚了,但因爲我一直是這樣努力,我張貼以防萬一它可以幫助任何人。
如果你只是想改變當前頁面,這樣做是在這樣最簡單的方法的實際標籤:
$this->view->navigation()->findOneByRoute(
Zend_Controller_Front::getInstance()
->getRouter()
->getCurrentRouteName()
)
->setLabel($label);
的findOneByRoute將charmly工作,如果你使用Zend_Routes,如果你不,您可以通過findOneByX更改它,X是頁面的任何屬性。
回答了OP的問題,在這種情況下,這將是很容易做到:
$this->view->navigation()->findOneByLabel('Collaborators')
->setLabel('Collaborator'. $name);
是$名稱,合作者的名字。
我希望這可以幫助那些仍在使用ZF1的人。
Greetings,
+1。我認爲這是做這件事最簡單的方法。另一種方法是直接使用導航容器,但在這種情況下,Ashley提出並且不必要的是更復雜的。 – Marcin 2011-01-30 12:08:33