3

我目前正在使用 zend 开发应用程序,并且已将应用程序分成模块。

默认模块是未登录用户访问并可以自由浏览的主要站点。登录时,根据用户类型,您可以转到由简单 ACL 控制的模块 A 或模块 B。如果您可以访问模块 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>

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

我最好为每个模块添加一个唯一的 navigation.xml 文件,这些模块加载在我为处理我的 ACL 而编写的 preDispatch 插件中?还是将它们保存在一个庞大的导航文件中?

任何提示都会很棒。

谢谢,

授予

4

1 回答 1

0

授予,

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

于 2011-02-06T01:03:48.797 回答