2010-09-26 5 views
0

Я сохраняю навигационное содержимое в файле navigation.xml в папке configs моего проекта.Zend Navigation - проблема с настройкой Url

В основном у меня есть два модуля, модуль по умолчанию, который имеет дело с, например, аутентификацию и базовое использование страниц, а также модуль администрирования для администрирования веб-сайта.

Когда я подписываю в качестве администратора специального администратора навигации, в соответствии с моим и navigation.xml ACL, навигационный элемент выглядит следующим образом:

<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')) 

Так что я ушел из «модуль» => «по умолчанию», так как я не хочу, чтобы /по умолчанию/ появится в браузере url bar.

Когда я посещаю сайт администратора, например. mysite.de/admin/ticket, все url на моей странице, которые обычно указывают на модуль по умолчанию, теперь указывают на модуль администрирования, и я получаю плохой запрос, когда я нахожу их.

$this->url(array('controller' => 'index', 'action' => 'contact')) 

обычно создает mysite.de/index/contact, но на странице администратора становится mysite.de/admin/index/contact.

Должен ли я настраивать все ссылки и добавлять информацию о модуле или есть другое решение?

ответ

1

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

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

приведет к URL из всего /.