Zend Navigation - проблема с настройкой URL
Я храню навигационный контент в файле navigation.xml в папке config моего проекта.
В основном у меня есть два модуля, модуль по умолчанию, который занимается, например, аутентификацией и базовым использованием страниц, и модуль администратора для администрирования веб-сайта.
Когда я вхожу в систему как администратор, в соответствии с моими acl и navigation.xml появляется навигация администратора, элемент навигации выглядит так:
<ticket>
<label>Tickets</label>
<resource>admin:ticket</resource>
<module>admin</module>
<controller>ticket</controller>
<action>payticket</action>
<privilege>ticket</privilege>
</ticket>
Но у меня большая проблема с URL моего сайта, когда я вошел как администратор. Я разработал свой модуль администратора довольно поздно, поэтому URL модуля по умолчанию выглядят так:
$this->url(array('controller' => 'index', 'action' => 'contact'))
Поэтому я пропустил 'module' => 'default', так как я не хочу, чтобы / default / появлялся в строке URL браузера.
Когда я захожу на сайт администратора, например, mysite.de/admin/ticket, все URL-адреса на моей странице, которые обычно указывают на модуль по умолчанию, теперь указывают на модуль администратора, и я получаю неверный запрос, когда посещаю их.
$this->url(array('controller' => 'index', 'action' => 'contact'))
обычно создает mysite.de/index/contact, но на странице администратора становится mysite.de/admin/index/contact.
Нужно ли настраивать все ссылки и добавлять информацию о модуле или есть другое решение?
1 ответ
Если вы указали в качестве модели по умолчанию, Zend не включит его в ваш URL, так как это модуль по умолчанию.
Например, построение следующего: - контроллер: индекс - действие: индекс - модуль: по умолчанию
Результатом будет URL только /.