4

次のようなURLを使用したい:

site.com/car-list/param1/value1/param2/value2

「車」は可変であり、任意の値にすることができます。「site.com/car-list」の部分を次のように解決しました。

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

「productType」パラメータが必要なときに「car-list」を取得できます。しかし、コントローラーで$ this-> _ getParam()を使用して残りのURLを取得することはできません。

これどうやってするの?ありがとう。

4

1 に答える 1

5

さて、Router_Route_Regexで作成する方法はわかりませんが、Router_Routeを使用すると簡単になります(「-」を「/」に置き換えます)

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

文字列の最後にある「/*」が原因で魔法が発生します。:car変数は$ request-> getParam('car');で取得できます。

于 2010-12-27T21:17:07.000 に答える