2011-01-30 26 views
1

隨着Zend_Navigation「動態」麪包屑,我可以這樣做如何創建Zend的導航

Home > Projects > Collaborators 

,但如果我想要的東西更實用

Home > Project name > Collaborator name 

我怎樣才能達致這?這是個好主意嗎?可能會有性能問題?因爲它需要查詢層次結構?但不管它是什麼,我怎麼能做到這一點?

回答

2

最簡單的方法是使麪包屑,然後附加到這個字符串的合作者的名字。

這個工程,除非你不需要它在導航或網站地圖。否則,您必須手動將其添加到容器

$this->navigation() 
    ->getContainer() 
    ->findOneByLabel('Colaborators') 
    ->addPage(array('label'=>'name', 'uri'=>'/name')); 
+0

這確實有助於爲我的某個網站創建動態網站地圖。謝謝。 – 2014-07-16 16:07:28

1

也許這是一個有點晚了,但因爲我一直是這樣努力,我張貼以防萬一它可以幫助任何人。

如果你只是想改變當前頁面,這樣做是在這樣最簡單的方法的實際標籤:

$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,