只有在不为空时才使用带有参数的 CakePHP 路由有一些解决方案吗?
现在我在下面编码,但我想要一些更好的:
if(Configure::read('Config.language') !== 'en') { // en is default language
$language = '/:language';
} else {
$language = '';
}
Router::connect($language .'/'. __('register', true), array(
'controller' => 'users',
'action' => 'register'));
此代码完美运行,但我仍然必须通过 url() 方法在 AppHelper 中设置语言。
在较旧的应用程序中,我总是重复 Router::connect:
Router::connect('/:language/'. __('register', true), array(
'controller' => 'users',
'action' => 'register')); // for all languages without default language
Router::connect('/'. __('register', true), array(
'controller' => 'users',
'action' => 'register')); // only for default language (en)
也许有最简单的解决方案?