Я разрабатываю приложение в настоящий момент с zend, и я отделил приложение от модулей.
Модуль по умолчанию является основным сайтом, в котором пользователи не имеют права доступа и имеют свободное владение, чтобы осмотреться. Когда вы входите в систему, в зависимости от типа пользователя вы либо переходите к модулю A, либо к модулю B, который управляется простыми списками ACL. Если у вас есть доступ к модулю А, вы не можете получить доступ к модулю 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? Или сохранить их в одном массивном файле навигации?
Любые советы были бы фантастическими.
Благодаря,
Грант
Грант,
Обычно я создаю каталог config под каждым модулем, и там я помещаю документ navigation.xml. Это помогает уменьшить проблемы с перекрестной зависимостью.