/** * Finds the Language model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param string $id * @return Language the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Language::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
protected static function getDefaultLanguage($lang = false) { if ($lang === false) { $lang = Language::findOne(Yii::$app->language); } else { $lang = Language::getLangByUrl($lang); } return $lang; }
<?php use yii\helpers\Url; use yii\helpers\Html; use yii\grid\GridView; use app\modules\admin\widgets\Button; use app\modules\language\models\LanguageTranslate; /** * @var $this yii\web\View * @var $searchModel app\modules\language\models\search\LanguageTranslateSearch * @var $dataProvider yii\data\ActiveDataProvider * @var $categories */ $this->title = Yii::t('language', 'Language Translates'); $this->params['breadcrumbs'][] = $this->title; $this->params['actions_buttons'] = [['tagName' => 'a', 'label' => Yii::t('admin', 'Create'), 'options' => ['href' => Url::to(['create'])], 'icon' => 'fa fa-plus', 'iconPosition' => Button::ICON_POSITION_LEFT, 'size' => Button::SIZE_SMALL, 'disabled' => false, 'block' => false, 'type' => Button::TYPE_CIRCLE]]; ?> <div class="language-translate-index"> <?php // echo $this->render('_search', ['model' => $searchModel]); ?> <div class="table-responsive"> <?php echo GridView::widget(['id' => 'grid', 'tableOptions' => ['class' => 'table table-striped table-bordered table-advance table-hover'], 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['attribute' => 'id', 'options' => ['style' => 'width:100px']], ['attribute' => 'language', 'value' => function ($model) { return \app\modules\language\models\Language::findOne($model->language)->name; }, 'options' => ['style' => 'width: 120px']], ['attribute' => 'category', 'filter' => $categories], ['attribute' => 'sourceMessage'], 'translation:ntext', ['class' => 'app\\modules\\admin\\components\\grid\\ActionColumn']]]); ?> </div> </div>
public function actionGetSettings($file, $id = null, $lang = null) { if (Yii::$app->request->isAjax) { $return = ''; $lang === null ? $lang = Language::findOne(Yii::$app->language) : ($lang = Language::findOne($lang)); $model = Text::findOne($id); if ($model) { $model->language = $lang->language_id; $model->settingsAfterLanguage(); } if ($id !== null && $model) { if ($model->settings && is_array($model->settings) && count($model->settings) && $file == $model->layout) { $model->settings = array_merge($this->getLayouts($file)[0]['settings'], $model->settings); foreach ($model->settings as $key => $setting) { $return .= Html::settingField($key, $setting, 'text'); } } else { foreach ($this->getLayouts($file)[0]['settings'] as $key => $setting) { $return .= Html::settingField($key, $setting, 'text'); } } } else { foreach ($this->getLayouts($file)[0]['settings'] as $key => $setting) { $return .= Html::settingField($key, $setting, 'text'); } } return $this->renderAjax('get-settings', ['return' => $return]); } else { throw new NotFoundHttpException(); } }