2011-01-30 56 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,