маршрутизация значения ключа в Zend Framework Route - PullRequest
0 голосов
/ 18 января 2010

Я использую маршрут Hostname для захвата субдомена и использования в качестве категории. Затем я соединяю маршрут Маршрутизатора для пар контроллера, действия и ключа / значения.

$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
 ':customer.ddc.:domain',
 array(
  'customer' => ':customer'
 )
);

$routerRoute = new Zend_Controller_Router_Route(
 ':controller/:action/*',
 array(
  'controller' => 'index',
  'action' => 'index'
)
);
$chainedRoute = $hostnameRoute->chain($routerRoute);
$frontController->getRouter()->addRoute('default',$chainedRoute);

Я могу захватить все, кроме пар ключ / значение в URI. Добавление их приводит к тому, что объект Params в Запросе не заполняется.

Это работает: http://category.mydomain.com/controller/action/

Это не: http://category.mydomain.com/controller/action/username/frank

Спасибо за любые предложения.

Ответы [ 3 ]

1 голос
/ 20 апреля 2011

Предлагаемый патч не работает для меня. Я адаптировал другой патч, найденный в другом месте на сайте ZF, и он, кажется, хорошо работает: http://pastie.org/1815135

1 голос
/ 18 января 2010

Попробуйте использовать без /*.

$routerRoute = new Zend_Controller_Router_Route(
    ':controller/:action',
    array(
        'controller' => 'index',
        'action'     => 'index'
    )
);

, как в 12.5.2.Использование маршрутизатора описано.

0 голосов
/ 18 января 2010

Действительно, есть ошибка, которая не позволяет использовать подстановочные знаки при объединении маршрутов. Комментарии в описании ошибки были очень полезны для решения этой проблемы с помощью всего лишь нескольких строк изменения кода.

framework.zend.com / вопросы / просмотреть / ZF-6654

...