public function actionSetLang() { $rr = new RequestResponse(); $newLang = \Yii::$app->request->post('code'); $cmsLang = CmsLang::find()->active()->andWhere(['code' => $newLang])->one(); if (!$cmsLang) { $rr->message = 'Указанный язык отлючен или удален'; $rr->success = false; return $rr; } $rr->success = true; $userSettings = CmsComponentSettings::createByComponentUserId(\Yii::$app->admin, \Yii::$app->user->id); $userSettings->setSettingValue('languageCode', $cmsLang->code); if (!$userSettings->save()) { $rr->message = 'Не удалось сохранить настройки'; $rr->success = false; return $rr; } \Yii::$app->admin->invalidateCache(); return $rr; }
/** * @return array|null|CmsLang */ public function getCmsLanguage() { return CmsLang::find()->where(['code' => \Yii::$app->language])->one(); }
/** * @return array|null|\yii\db\ActiveRecord */ public function getCmsLanguage() { return CmsLang::find()->where(['code' => $this->languageCode])->one(); }
?> <?php echo \skeeks\cms\modules\admin\widgets\BlockTitleWidget::widget(['content' => 'Шаблоны/отображение']); ?> <?php echo $form->fieldSelect($model, 'template', $templates); ?> <?php echo \skeeks\cms\modules\admin\widgets\BlockTitleWidget::widget(['content' => 'Языковые настройки']); ?> <?php echo $form->fieldSelect($model, 'languageCode', \yii\helpers\ArrayHelper::map(\skeeks\cms\models\CmsLang::find()->active()->all(), 'code', 'name')); ?> <?php echo \skeeks\cms\modules\admin\widgets\BlockTitleWidget::widget(['content' => 'Email']); ?> <?php echo $form->field($model, 'adminEmail')->textInput()->hint('E-Mail администратора сайта. Этот email будет отображаться как отправитель, в отправленных письмах с сайта.'); ?> <?php echo $form->field($model, 'notifyAdminEmailsHidden')->textarea()->hint('E-Mail адрес или список адресов через запятую на который будут дублироваться все исходящие сообщения. Скрытая копия!'); ?> <?php echo $form->field($model, 'notifyAdminEmails')->textarea()->hint('E-Mail адрес или список адресов через запятую на который будут дублироваться все исходящие сообщения. Эти email адреса будут отображаться в открытой копии.'); ?>
<li class="sx-left-border dropdown visible-md visible-lg visible-sm visible-xs dropdown"> <a class="request-fullscreen toggle-active dropdown-toggle" style="width: auto;" href="#" data-toggle="dropdown" data-sx-widget="tooltip-b" data-original-title="<?php echo \Yii::t('app', 'Interface language'); ?> "> [<?php echo \Yii::$app->admin->cmsLanguage->code; ?> ] <?php echo \Yii::$app->admin->cmsLanguage->name; ?> <span class="caret"></span> </a> <?php if ($langs = \skeeks\cms\models\CmsLang::find()->active()->all()) { ?> <ul class="dropdown-menu "> <?php foreach ($langs as $lang) { ?> <li><a href="#" onclick="sx.ChangeLang.setLang('<?php echo $lang->code; ?> '); return false;">[<?php echo $lang->code; ?> ] <?php echo $lang->name; ?> </a></li>
public function getLanguages() { if ($this->_languages === null) { $this->_languages = CmsLang::find()->active()->indexBy('code')->all(); } return (array) $this->_languages; }