У меня проблемы с роутером.
У меня есть собственный маршрут:
$router->addRoute('showTopic',
new Zend_Controller_Router_Route('/forum/topic/:topic',
array('module' => 'forum',
'controller' => 'topic',
'action' => 'show'),
array('topic' => '\d+')));
Но когда я пытаюсь получить доступ к этому URL-адресу: localhost/forum/topic/16, я получаю эту ошибку:
Неустранимая ошибка: необработанное исключение «Zend_Controller_Router_Exception» с сообщением «тема не указана»
Но я не хочу указывать значение по умолчанию для темы, потому что я также хочу, чтобы маршрут /форум/тема отображал все темы...
Во-вторых, я знаю, что если я добавлю пользовательский маршрут, маршрутизатор по умолчанию будет переопределен, но мне также нужны некоторые маршруты по умолчанию. Единственный способ, который я нашел, - установить «по умолчанию» во втором параметре помощника просмотра URL, например
$this->url(array(
'module' => 'forum',
'controller' => 'topic',
'action' => 'add'
), 'default', true)
Есть ли более элегантный способ вместо того, чтобы делать это для всех URL-адресов, где я хочу использовать поведение по умолчанию?