OmgDef / yii2-multilingual-behavior

Yii2 port of the yii-multilingual-behavior.
146 stars 60 forks source link

incorrect current language set in Behavior if use from extension #79

Open igorveremsky opened 5 years ago

igorveremsky commented 5 years ago

I have an extension with MultilingualActiveRecord.php that extends from ActiveRecord.php has additional multilingual attributes sets and add your behavior to behaviors(). But when i extend model in my application from it i get incorrect values for multilingual attributes for current language, because MultilingualUrlManager.php set application language after loading MultilingualActiveRecord.php and $currentLanguage at MultilingualBehavior set from language parameter in application config instead of MultilingualUrlManager.php logic for get current language. So, i think method https://github.com/OmgDef/yii2-multilingual-behavior/blob/9589c9dfdf5f082b29a0b24f48bdc68c3c23c27f/src/MultilingualBehavior.php#L518 need be like

/**
     * @return mixed|string
     */
    public function getCurrentLanguage()
    {
        return Yii::$app->language;
    }

Also in general think $currentLanguage not needed in behavior because global yii application has language param.