使用 Zend_Navigation,我可以做类似的事情
Home > Projects > Collaborators
但是如果我想要更有用的东西怎么办
Home > Project name > Collaborator name
我怎样才能做到这一点?这是个好主意吗?可能会有性能问题?因为它必须查询层次结构?但无论它是什么,我怎样才能做到这一点?
使用 Zend_Navigation,我可以做类似的事情
Home > Projects > Collaborators
但是如果我想要更有用的东西怎么办
Home > Project name > Collaborator name
我怎样才能做到这一点?这是个好主意吗?可能会有性能问题?因为它必须查询层次结构?但无论它是什么,我怎样才能做到这一点?
Example #34 展示了如何使用面包屑的视图部分。我会在需要的地方做foreach
一个$this->pages
调整
最简单的方法是呈现面包屑,然后将协作者名称附加到此字符串。
除非您在导航或站点地图中不需要它,否则此方法有效。否则,您必须手动将其添加到容器中。
$this->navigation()
->getContainer()
->findOneByLabel('Colaborators')
->addPage(array('label'=>'name', 'uri'=>'/name'));
也许有点晚了,但由于我一直在努力解决这个问题,所以我发布它以防万一它可以帮助任何人。
如果你只是想改变当前页面的实际标签,最简单的方法是这样:
$this->view->navigation()->findOneByRoute(
Zend_Controller_Front::getInstance()
->getRouter()
->getCurrentRouteName()
)
->setLabel($label);
如果您使用 Zend_Routes,findOneByRoute 会很好地工作,如果您不使用,您可以通过 findOneByX 更改它,因为X是页面的任何属性。
回答 OP 的问题,在这种情况下,很容易做到:
$this->view->navigation()->findOneByLabel('Collaborators')
->setLabel('Collaborator'. $name);
作为 $name,合作者的名字。
我希望这对那些仍在使用 ZF1 的人有所帮助。
问候,