model)){ if ( !isset($this->aliases) ){ throw new InvalidConfigException("need model with lang or array of aliases to same page with different langs"); } else{ $languages = Language::find()->indexBy('id')->all(); //VarDumper::dump($languages[1]->url,10,1);die(); foreach ($this->aliases as $alias){ if ( in_array($languages[$alias->language_id]->url, $this->languages) ){ $this->languageMarkup($alias); } } } } else{ foreach ($this->model->langs as $pageLang){ if (in_array($pageLang->language->url, $this->languages)){ $this->languageMarkup($pageLang->alias); } } } } /** * @param $alias \artbox\core\models\Alias */ private function languageMarkup($alias){ $route = json_decode($alias->route)->{'0'}; $url = \yii\helpers\Url::toRoute( [ $route, 'alias' => $alias, 'language_id' => $alias->language_id ] ); $locale = ''; if ( $alias->language_id === 2 ){ $locale = 'ru-UA'; } elseif ($alias->language_id === 3){ $locale = 'uk-UA'; } elseif ($alias->language_id === 1){ $locale = 'en-UA'; } $this->renderLinks[] = ""; } public function run() { foreach ($this->renderLinks as $renderLink){ echo $renderLink; } } }