2013-12-15 28 views
1

我正嘗試在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'

我在這裏做錯了什麼?在我的配置

'behaviors' => array('ApplicationConfigBehavior'), 

其次這篇文章:

回答

2

我解決了這個由

http://www.yiiframework.com/wiki/208/how-to-use-an-application-behavior-to-maintain-runtime-configuration/

改成了會議,而不是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'));