2011-07-09 64 views
0

路由器我有這樣的路由器:HTML的「鏈接不把正確的鏈接根據與CakePHP的

Router::connect 
(
    ':renting/:model_name/:number_name/', 
    array('controller' => 'cars', 'action' => 'view'), 
    array(
    'pass' => array('renting', 'model_name', 'number_name'), 
    'renting' => 'renting' 
) 
); 

當我這樣做在一個視圖中

$html->link("NAME", 
    array(
    'controller' => 'cars', 
    'action' => 'view', 
    'renting', 
    $model_name, 
    $number_name 
) 
); 

我獲得了這個鏈接頁:mypage.com/cars/view/renting/mustang/03212xd

,我需要獲得mypage.com/renting/mustang/03212xd

林陷在這裏。謝謝。注意:muypage.com/renting/mustang/03212xd重定向到我的控制器功能,但不使用$html->link功能。

回答

1

如果你的名字你的參數,你需要命名參數:

array(
    'controller' => 'cars', 
    'action'  => 'view', 
    'renting'  => 'renting', 
    'model_name' => $model_name, 
    'number_name' => $number_name 
) 

如果:renting總是'renting',你不需要將其參數化:

Router::connect('/renting/:model_name/:number_name/', 
       array('controller' => 'cars', 'action' => 'view', 'renting'), 
       array('pass' => array('model_name', 'number_name'))); 

$html->link(…, array(
    'controller' => 'cars', 
    'action'  => 'view', 
    'renting', 
    'model_name' => $model_name, 
    'number_name' => $number_name 
)); 
+0

非常感謝你。我在文檔中沒有看到任何示例。 – dlopezgonzalez