随着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