如何在Cake 3.0中的链接的URL中包含语言段

时间:2015-07-19 16:25:55

标签: cakephp routing routes cakephp-3.0

我需要使用网址中的语言(例如http://example.org/jp/users/login)构建一个多语言网站,但我希望避免将语言编码到网站上的每个链接中。我实际上有这个用于路由:

$routes->connect(
    '/:lang/:controller/:action/*',
    ['prefix' => 'customer'],
    ['routeClass' => 'DashedRoute', 'lang' => '[a-z]{2}']
);

我必须为链接执行此操作:

$this->Html->link(__('List Users'), ['lang' => 'en', 'controller' => 'users', 'action' => 'index']);

有没有办法可以自动添加lang而我可以为链接执行此操作?

$this->Html->link(__('List Users'), ['controller' => 'users', 'action' => 'index']);

1 个答案:

答案 0 :(得分:2)

只需将'persist' => ['lang']添加到$routes->connect()语句的选项数组中。