我在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>