0

我有这种曾经在 cakePHP 1.2 上工作的路线

Router::connect('/mycategory/my-region', array('controller'=>'search', 'action'=>'properties''named'=>array('region'=>01)));

我怎样才能在蛋糕 1.3 中完成同样的任务

谢谢

4

1 回答 1

2

如果my-region总是等于01,那么您的解决方案与我猜想的任何其他解决方案一样好。但是,如果您希望能够拥有多个不同的区域,那么我建议您采用以下路线:

Router::connect('/mycategory/:my_region', 
    array('controller' => 'search', 'action' => 'properties'),
    array('pass' => array('my_region'), 'my_region' => '[\#a-zA-Z0-9_-]+')
);

因此,您可以my-region像这样在控制器中获取 的值:

function properties($my_region = NULL) {
    $regions = array('my-region' => '01');
    $id = $regions[$my_region];
}

使用 if/switch 语句可以极大地改进控制器部分。只是想举一个非常基本的例子。

编辑:然后,像这样构建您的链接:

<?php echo $this->ExHtml->link(
    'My Region',
    array('controller' => 'search', 'action' => 'properties', 'my_region' => 'my-region')
); ?>

应该自动输出: <a href="/mycategory/my-region">My Region</a>

于 2011-04-13T11:14:20.713 回答