问题描述
|
如何创建这样的网址(默认为英语):
对于类别控制器中的操作“ 0”:
/类别
/ zh /类别
/ de /类别
...
对于类别控制器中的动作“ 1”:
/ categories / englishslug
/ de / categories / deutshslug
解决方法
本文缺少的是Router :: connect()中可用的有用的
persist
功能。
它将语言参数添加到所有生成的URL。
路线示例:
Router::connect(
\'/:language/:controller\',array(),array(\'language\' => \'[a-z]{2}\',\'persist\' => array(\'language\'))
);
Router::connect(\'/:language/:controller/:action/*\',\'persist\' => array(\'language\')));
,这正是在CakePHP中创建自定义路由的目的。您可以定义自己的路由器类,该类为您处理所有逻辑并缓解所有问题,然后再运行调度程序。最近,我参考了Mark Story自己的博客文章,完全按照您的意愿去做:http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp