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'])) { //If language indetification exists, than try to find it in db //else work with default language $lang = Lang::findOne($params['lang_id']); if ($lang === null) { $lang = Lang::getDefaultLang(); } unset($params['lang_id']); } else { //If doesn't language parametr exist, than work with current language $lang = Lang::getCurrent(); } //Get formed URL (without language indentification prefix) $url = parent::createUrl($params); //Add prefix to URL - characters indentification of language if ($url == '/') { return '/' . $lang->url; } else { return '/' . $lang->url . $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; } }
/* @var $model app\models\Brood */ /* @var $form yii\widgets\ActiveForm */ ?> <div class="brood-form"> <?php $form = ActiveForm::begin(); ?> <?php echo $form->field($model, 'name')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'date')->widget(DatePicker::classname(), ['options' => ['placeholder' => Yii::t('app', 'Enter birth date ...')], 'type' => DatePicker::TYPE_COMPONENT_APPEND, 'pluginOptions' => ['autoclose' => true, 'format' => 'yyyy-mm-dd'], 'removeButton' => false, 'language' => \app\models\Lang::getCurrent()['local']]); ?> <?php echo $form->field($model, 'breed_id')->dropDownList(\app\models\Breed::getAll()); ?> <?php echo $form->field($model, 'common_status_id')->dropDownList(\app\models\CommonStatus::getAll()); ?> <div class="form-group"> <?php echo Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']); ?> </div>
public function run() { return $this->render('lang/view', ['current' => Lang::getCurrent(), 'langs' => Lang::find()->where('id != :current_id', [':current_id' => Lang::getCurrent()->id])->all()]); }
<?php use yii\helpers\Html; use app\components\widgets\ratingStars; use app\components\widgets\internetStatus; use app\models\Lang; $image = Html::img(Yii::getAlias('@web') . '/images/' . $model->id . '/image.png', ['alt' => 'some', 'class' => 'thing']); $stars = ratingStars::widget(['starsCount' => $model->stars]); $internet = internetStatus::widget(['internet' => $model->internet]); $currentLang = Lang::getCurrent()->url; $output = <<<HTML <br><br> <div class="panel panel-info" onMouseOver="((this.className=='panel panel-info')?this.className='panel panel-primary':this.className='panel panel-info')" onMouseOut="((this.className=='panel panel-info')?this.className='panel panel-primary':this.className='panel panel-info')" onClick="(this.className='panel panel-success')" > <div class="panel-heading"> <h3 class="panel-title">{$model->{'name_' . $currentLang}}</h3> </div> <div class="panel-body"> <div class="row"> <div class="col-lg-5"> {$stars} <br> {$image} <br>