Zend Navigation - проблема с настройкой URL - PullRequest
0 голосов
/ 26 сентября 2010

Я храню навигационный контент в файле 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 Ответ

1 голос
/ 27 сентября 2010

Если вы указали в качестве модели по умолчанию, Zend не включит его в ваш URL, так как это модуль по умолчанию.

Например, построение следующего: - контроллер: индекс - действие: индекс - модуль: по умолчанию

приведет к URL только / .

...