zend_navigation и модули - PullRequest
       20

zend_navigation и модули

3 голосов
/ 02 апреля 2010

Я сейчас занимаюсь разработкой приложения с помощью 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>

Это нормально для модуля по умолчанию, но как мне перейти к другим модулям на этой странице навигации? Каждый модуль имеет свою домашнюю страницу, другие и т. Д.

Было бы лучше добавить уникальный файл navigation.xml для каждого модуля, который загружен в плагин preDispatch, который я написал для обработки моих ACL-списков ?? Или хранить их в одном массивном навигационном файле?

Любые советы будут фантастическими.

Спасибо

Грант

1 Ответ

0 голосов
/ 06 февраля 2011

Грант,

Обычно я создаю каталог конфигурации под каждым модулем, а внутри него размещаю документ navigation.xml. Это помогает смягчить проблемы взаимозависимости.

...