如何将页面插入zend导航容器中

时间:2012-12-24 23:29:45

标签: zend-framework zend-navigation

我目前正在使用Zend_Navigation从XML文件创建一个菜单,到目前为止,菜单渲染正常。我的问题是我需要将页面添加到导航容器中的特定位置。到目前为止,我有:

$this->_navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH .
            '/configs/navigation.xml', 'nav');

        $this->_navContainer = new Zend_Navigation($this->_navContainerConfig);

        $this->_navContainer->findById('defaultindex')->addPage(array(
            'label'         => 'Open Prints',
            'module'        => 'default',
            'controller'    => 'artwork',
            'action'        => 'list',
            'params'        => array(
                'medtyp'        => 2),
            'resource'      => 'default:artwork',
            'privilege'     => 'list',
            'route'         => 'default'
        ));

这只是在页面ID'defaultindex'中添加了一个子页面,我需要在'defaultindex'页面之后添加页面。

有谁知道如何做到这一点?

非常感谢,祝大家圣诞快乐,

加里

1 个答案:

答案 0 :(得分:0)

您可以直接从Zend_Navigation_Container

使用方法addPage
$this->_navContainer->addPage(your_array);

它将在容器中的所有页面之后添加您的页面。如果你需要自定义顺序,你需要扩展Zend_Navigation_Container并添加方法来重写容器中页面的属性$ _index,以便按你想要的顺序对它们进行排序