zend_navigation和模块

时间:2010-04-01 20:36:03

标签: php zend-framework zend-navigation

我正在使用zend开发一个应用程序,我将应用程序分成了模块。

默认模块是用户访问中未记录的主要站点,可以自由查看。登录时,根据用户类型,您可以转到模块A或模块B,它由简单的ACL控制。如果您可以访问模块A,则无法访问模块B,反之亦然。两种用户类型都可以看到默认模块。

现在我想使用Zend_Navigation来管理所有模块中的整个应用程序导航。我不知道如何解决这个问题,因为我看到的所有示例都在模块或非常简单的应用程序中工作。

我试过让我的navigation.xml文件看起来像这样:

<configdata>
<navigation>

        <label>Home</label>
        <controller>index</controller>
        <action>index</action>
        <module>default</module>

        <pages>
            <tour>
                <label>tour</label>
                <controller>tour</controller>
                <action>index</action>
                <module>default</module>
            </tour>

            <blog>
                <label>blog</label>
                <url>http://blog.mysite.com</url>                   
            </blog>

            <support>
                <label>Support</label>
                <controller>support</controller>
                <action>index</action>
                <module>default</module>
            </support>

        </pages>

</navigation>
</configdata>

这对于默认模块是否正常,但我如何将其他模块转到此导航页面?每个模块都有自己的主页,还有其他模块等。

我是否应该为我编写的用于处理ACL的preDispatch插件中加载的每个模块添加一个唯一的navigation.xml文件?或者将它们保存在一个大型导航文件中?

任何提示都很棒。

谢谢,

捐赠

1 个答案:

答案 0 :(得分:0)

格兰特,

我通常在每个模块下创建一个config目录,并在其中放置一个navigation.xml文档。这有助于缓解交叉依赖问题。