webplus
Новичок
Здравствуйте!
В Yii2 не срабатывает в классе LangUrlManager переопределение переменной Yii::$app->language
вот код:
	
	
	
		
В урлы язык подставляется, но если вывести в контроллере переменную Yii::$app->language - то она не изменилась. Также из за этого messages не переключаются на нужный язык
								В Yii2 не срабатывает в классе LangUrlManager переопределение переменной Yii::$app->language
вот код:
		PHP:
	
	namespace app\components\urlManager;
use yii\web\UrlManager;
use Yii;
class LangUrlManager extends UrlManager{
    public $languages=array('en','ru');
    public $lang='ru';
    public $langParam='language';
    public function createUrl($params=array()){
        $userLang=Yii::$app->getRequest()->getPreferredLanguage();
        //if language pass via url use it
        if(isset($_GET[$this->langParam])&&in_array($_GET[$this->langParam],$this->languages)){
            Yii::$app->language=$_GET[$this->langParam];
        //else if preffered language is allowed
        }elseif(in_array($userLang,$this->languages)) {
            Yii::$app->language=$userLang;
        //else use the first language from the list
        }else Yii::$app->language=$this->lang;
       
    //print_r($_GET);
        if(!isset($params[$this->langParam])){ if(Yii::$app->language != $this->lang)$params[$this->langParam]=Yii::$app->language;}
        else if($params[$this->langParam] == $this->lang)unset($params[$this->langParam]);
        //print_r($params);
        return parent::createUrl($params);
    }
} 
	            
 
 
		