Я храню навигационный контент в файле 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.
.
Нужно ли настраивать все ссылки и добавлять информацию о модуле, или есть другое решение?