如何使用Zend_Navigation在某些级别内添加页面?

时间:2010-09-08 19:05:13

标签: arrays zend-framework zend-navigation

我正在使用带有 Zend_Navigation 的XML(click here to see)来渲染: alt text

其中Menu Principal是第一级,然后是HomeQuem Somos,然后下拉列表是第三级和最后一级。我希望最后一个列表是动态的(从数据库中查询)。

我发现我可以使用方法addPages($array)来动态呈现导航。所以我想到查询数据库中的页面标题,然后将它们作为数组推出,然后使用addPages()方法。我只是不知道如何从现有导航级别添加页面。

我知道如何检索我要添加的数组,但如何将其添加为Quem Somos的列表?

1 个答案:

答案 0 :(得分:2)

您可以使用魔术方法findOneBy*()获取任何容器,例如。

$submenu = $container->findOneByLabel('Quem Somos');
$submenu->setPages($yourNewContainer);

Zend Navigation实现了RecursiveIterator接口,因此您可以使用RecursiveIteratorIterator迭代并手动查找任何内容。