public function createUrl($params) { if (isset($params['lang_id'])) { //Если указан идентификатор языка, то делаем попытку найти язык в БД, //иначе работаем с языком по умолчанию $lang = Lang::findOne($params['lang_id']); if ($lang === null) { $lang = Lang::getDefaultLang(); } unset($params['lang_id']); } else { //Если не указан параметр языка, то работаем с текущим языком $lang = Lang::getCurrent(); } //Получаем сформированный URL(без префикса идентификатора языка) $url = parent::createUrl($params); //Добавляем к URL префикс - буквенный идентификатор языка if ($url == '/') { return '/' . $lang->url; } else { if (YII_DEBUG && !empty(Yii::$app->params['mainPathCount'])) { $url_list = explode('/', $url); $mainPath = []; for ($i = 0; $i <= Yii::$app->params['mainPathCount']; $i++) { $mainPath[] = array_shift($url_list); } $url_list = array_merge($mainPath, [$lang->url], $url_list); return join('/', $url_list); } return '/' . $lang->url . $url; } }
public function getLangUrl() { if ($this->_lang_url === null) { $this->_lang_url = $this->getUrl(); $url_list = explode('/', $this->_lang_url); $lang_url = isset($url_list[1]) ? $url_list[1] : null; Lang::setCurrent($lang_url); if ($lang_url !== null && $lang_url === Lang::getCurrent()->url && strpos($this->_lang_url, Lang::getCurrent()->url) === 1) { $this->_lang_url = substr($this->_lang_url, strlen(Lang::getCurrent()->url) + 1); } } return $this->_lang_url; }
public function createUrl($params) { if (isset($params['lang_id'])) { //Если указан идентификатор языка, то делаем попытку найти язык в БД, //иначе работаем с языком по умолчанию $lang = Lang::findOne($params['lang_id']); if ($lang === null) { $lang = Lang::getDefaultLang(); } unset($params['lang_id']); } else { //Если не указан параметр языка, то работаем с текущим языком $lang = Lang::getCurrent(); } //Получаем сформированный URL(без префикса идентификатора языка) $url = parent::createUrl($params); //Добавляем к URL префикс - буквенный идентификатор языка if ($url == '/') { return '/' . $lang->url; } else { return '/' . $lang->url . $url; } }
public function getLangUrl() { if ($this->_lang_url === null) { $this->_lang_url = $this->getUrl(); $url_list = explode('/', $this->_lang_url); $urlListIndex = YII_DEBUG && !empty(\Yii::$app->params['mainPathCount']) ? \Yii::$app->params['mainPathCount'] + 1 : 1; $lang_url = isset($url_list[$urlListIndex]) ? $url_list[$urlListIndex] : null; Lang::setCurrent($lang_url); if ($lang_url !== null && $lang_url === Lang::getCurrent()->url) { if (YII_DEBUG && !empty(\Yii::$app->params['mainPathCount'])) { if ($url_list[$urlListIndex] == $lang_url) { unset($url_list[$urlListIndex]); $this->_lang_url = join('/', $url_list); } } else { if (strpos($this->_lang_url, Lang::getCurrent()->url) === 1) { $this->_lang_url = substr($this->_lang_url, strlen(Lang::getCurrent()->url) + 1); } } } } return $this->_lang_url; }
$this->registerJsFile(Yii::$app->request->baseUrl . '/js/list/imgEdit.js', ['depends' => [\yii\web\JqueryAsset::className()]]); $this->registerJsFile(Yii::$app->request->baseUrl . '/js/school/edit.js', ['depends' => [\yii\web\JqueryAsset::className()]]); $this->title = Lang::t('page/schoolEdit', 'titleEdit'); $this->params['breadcrumbs'][] = $this->title; $imgsSchool = $school->getImgsSort(); $tags = $school->tagEntity; $tagValues = []; foreach ($tags as $tag) { /** @var Tags $tagSchool */ $tagSchool = $tag->tags; $tagValues[] = $tagSchool->getName(); } $tagValue = join(',', $tagValues); $thisUser = User::thisUser(); $userImgs = $thisUser->getUserImgs(); $countries = array_merge([0 => '-'], Countries::getCountries(Lang::getCurrent())); $locations = $school->locations; Yii::$app->params['jsZoukVar']['blockLocationCount'] = count($locations); ?> <div id="school-header"> <h1><?php echo Html::encode($this->title); ?> </h1> </div> <div> <div class="row"> <div class="col-lg-9"> <?php $form = ActiveForm::begin(['id' => 'school-edit-form']);
public function run() { return $this->render('lang/view', ['current' => Lang::getCurrent(), 'langs' => Lang::find()->where('id != :current_id', [':current_id' => Lang::getCurrent()->id])->all()]); }
} } } ?> <ul id="w1" class="navbar-nav navbar-left nav"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> <?php echo Html::img($thisLang->getImg(), ['height' => '16px']); ?> <span class="caret"></span> </a> <ul class="dropdown-menu"> <?php $langs = Lang::find()->where('id != :current_id', [':current_id' => Lang::getCurrent()->id])->all(); foreach ($langs as $lang) { echo Html::tag('li', Html::a(Html::img($lang->getImg(), ['height' => '16px']) . ' ' . $lang->name, Yii::$app->UrlManager->toLang($lang))); } ?> </ul> </li> </ul> <?php $menuItems = []; if (Yii::$app->user->isGuest) { $menuItems[] = ['label' => Lang::t('main', 'loginSignup'), 'url' => ['site/login']]; } else { $displayName = User::thisUser()->getDisplayName(); $displayProfile = Html::tag('div', '', ['style' => "background-image: url('" . User::thisUser()->getAvatarPic() . "');", 'class' => 'background-img nav-profile-img']) . " " . (empty($displayName) ? Lang::t('main', 'profile') : $displayName) . ' ' . '<span class="badge">' . User::thisUser()->reputation . '</span>'; $menuItems[] = ['encode' => false, 'label' => $displayProfile, 'url' => ['account/profile']];