我有这种曾经在 cakePHP 1.2 上工作的路线
Router::connect('/mycategory/my-region', array('controller'=>'search', 'action'=>'properties''named'=>array('region'=>01)));
我怎样才能在蛋糕 1.3 中完成同样的任务
谢谢
如果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>