在Yii 1.x
上我们发现使用Yii实现语言选择选项非常困难,因此,我们使用以下扩展名:
http://www.yiiframework.com/extension/langhandler/
像这样:
main.php网址管理员:
urlManager'=>array(
'class'=>'application.extensions.langhandler.ELangCUrlManager',
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<lang:(pt|en)>/<_c>/<_a>/' => '<_c>/<_a>',
),
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<controller:\w+>' => '<controller>/index',
),
当我们点击&#34; en&#34;时,而不是获取: http://blabla.dev/experience/info/114?lang=en
我们得到: http://blabla.dev/experience/info?lang=en
因此,此网址的ID部分被完全忽略。
有人可以帮忙吗?
我们已尝试将规则更改为:
'<lang:(pt|en)>/<_c>/<_a>/<_i>/' => '<_c>/<_a>',
和许多其他组合,但这只是猜测。