我正在尝试在Yii之间调整语言之间的网页。
到目前为止,我有这个简单的功能可以从菜单栏中调用:
public function actionSetLanguage(){
if(Yii::app()->language == 'en_us'){
Yii::app()->language == 'en_uk';
} else {
Yii::app()->language == 'en_us';
}
$this->redirect(array('site/index'));
}
在我的索引页面中,我只是通过Yii::app()->language
打印该值。
在我的配置中,我有:
'language'=>'en_us',
Yii::app()->language
的价值从未改变过。它总是打印出'en_us'
。
我在这里做错了什么?
答案 0 :(得分:2)
我通过以下方式解决了这个问题:
'behaviors' => array('ApplicationConfigBehavior'),
在我的配置中:
关注这篇文章:
将其更改为会话而非POST。
控制器已更新为
if(Yii::app()->language == 'en_us'){
Yii::app()->session->add('lang', 'en_uk');
Yii::app()->language == Yii::app()->session['lang'];
} else {
Yii::app()->session->remove('lang');
Yii::app()->session->add('lang', 'en_us');
Yii::app()->language == Yii::app()->session['lang'];
}
$this->redirect(array('site/index'));