我正在尽可能高效地尝试使用CakePHP中的SEO友好URL,我设法使用当前格式,每个示例使用函数视图($ slug),除了第一个使用函数index()的示例。
/类别/
/类别/书籍/
/类别/书籍/它和计算/
但是,如果IT&计算有一个子类别“Web开发”?我希望URL成为:
/类别/书籍/它和计算/ Web的发展/
我不知道如何在不创建太多路线的情况下这样做。这是我到目前为止的路线代码:
Router :: connect('/ categories /',array('controller'=>'categories','action'=>'index'));
路由器::连接( '/类别/:蛞蝓', 数组('controller'=>'categories','action'=>'view'), array('pass'=> array('slug')) );
路由器::连接( '/类别/:父/:蛞蝓', 数组('controller'=>'categories','action'=>'view'), array('pass'=> array('parent','slug')) );
非常感谢任何帮助
亲切的问候
斯蒂芬
答案 0 :(得分:0)
// in routes.php
Router::connect('/categories/:row:lastslash',array('controller' => 'settings', 'action' => 'show',),array(
'pass'=>array('row'),
'row'=>'.*?',
'lastslash'=>'\/?'
));
//in controller
function show($row = ""){
if($row){
$categories = split('/',$row);
?><pre><? print_r($categories);?></pre><?die();
}else{
die('do something else');
}
}
/类别/书籍/计算/ Web的发展/ cakephp中/
结果:
Array
(
[0] => books
[1] => computing
[2] => web-development
[3] => cakephp
)
/类别/
结果:
do something else
/类别/书籍
结果:
Array
(
[0] => books
)