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 только /.

Другие вопросы по тегам