Zend Route Regex и дополнительные параметры - PullRequest
4 голосов
/ 28 декабря 2010

Я хочу использовать такой URL:

site.com / автомобиль-лист / param1 / значение1 / param2 / значение2

«машина» является переменной и может быть любой. Я решил часть "site.com/car-list" следующим образом:

    $categoryRoute = new Zend_Controller_Router_Route_Regex(
        '(\b.+\-list\b)',
        array(
            'module' => 'default',
            'controller' => 'search',
            'action' => 'index'
        ),
        array(
            1 => 'productType'
        )
    );

Я могу получить "car-list", когда мне нужен параметр "productType". Но я не могу получить остальную часть URL с $ this -> _ getParam () в контроллере.

как я могу это сделать? спасибо.

1 Ответ

5 голосов
/ 28 декабря 2010

Ну, я не вижу, как сделать это с Router_Route_Regex, но с Router_Route было бы проще (думал, я заменяю "-" на "/")

$categoryRoute = new Zend_Controller_Router_Route
    ':car/list/*',
    array(
        'module' => 'default',
        'controller' => 'search',
        'action' => 'index'
    )
);

магия происходит из-за"/ *" в конце строки.: переменную car можно получить с помощью $ request-> getParam ('car');

...