Zend Custom Route, если совпадений не найдено

У меня есть приложение ZF с несколькими модулями, как это: (как обычно)

root\
    \application\
                \default
                \items
                \me
                   \controllers
                   \views

Приложение использует маршрутизацию по умолчанию, как /module/controller/action;

Я хочу вот что: если не найдено совпадений для Zend Routing по умолчанию (действие / контроллер / модуль не найдены), тогда направьте к нужному пути с конечной точкой URL, разделенной на параметры.

Например:

  • mydomain.lh/me -> будет соответствовать модулю me, контроллер index, действие index (по умолчанию)

  • mydomain.lh/my_category_name -> будет соответствовать модулю items, контроллер index, действие index, params: category => my_category_name -> используя нужный маршрут

    • нет my_category_name модуль существует для сравнения

Я пытался с этим, в bootstrap.php:

 public function _initRoutes ()
{
    $router = $this->_front->getRouter(); // returns a rewrite router by default

    $router->addRoute(
        'cat-item',
        new Zend_Controller_Router_Route('/:category',
                                         array(
                                            'module' => 'items',
                                            'controller' => 'index',
                                            'action' => 'index'))
    );
}

Ведьма указывает на правильное местоположение (я знаю, потому что я var_dump -ed URL запроса в items/index/index действие и ожидаемый URL и параметры были там, но если я не сделаю var_dump(something);exit; в действие подается пустая страница.

  • вывод не производится, но также не генерируется ошибка, статус запроса 200 - ОК

У кого-нибудь может быть предложение?

Спасибо!

0 ответов

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