2011-05-25 83 views
2

如何创建这样的URL(英文为默认):CakePHP的高级路由

对于行动index在分类控制器:

  • /类别
  • /EN /类别
  • /日/类别
  • ...

在分类控制器动作view

  • /分类/ englishslug
  • /德/分类/ deutshslug

回答

1

文章缺失的是Router::connect()中有用的persist功能。
这将为所有生成的网址添加语言参数。

实施例路线:

Router::connect(
    '/:language/:controller', 
    array(), 
    array('language' => '[a-z]{2}', 'persist' => array('language')) 
); 
Router::connect('/:language/:controller/:action/*', array(), array('language' => '[a-z]{2}', 'persist' => array('language')));