public function run() { $list = []; $listKeys = $this->query->select(['key', 'lang_code'])->asArray()->all(); $listLangs = \jarrus90\Multilang\Models\Language::listMap(); foreach ($listKeys as $item) { if (empty($list[$item['key']])) { $list[$item['key']] = []; } $list[$item['key']][$item['lang_code']] = $item['lang_code']; } foreach ($list as $key => $elem) { $res = array_diff_key($listLangs, $elem); if (count($res) == 0) { unset($list[$key]); } else { $list[$key] = $res; } } return Yii::$app->controller->render('check', ['list' => $list]); }
<?php use yii\web\View; use yii\helpers\Url; use yii\helpers\Html; use kartik\grid\GridView; use yii\data\ActiveDataProvider; use jarrus90\Multilang\Models\Language; /** * @var View $this * @var ActiveDataProvider $dataProvider */ $this->beginContent('@jarrus90/Support/views/_adminFaqLayout.php'); echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $filterModel, 'pjax' => true, 'hover' => true, 'export' => false, 'id' => 'list-table', 'toolbar' => [['content' => Html::a('<i class="glyphicon glyphicon-plus"></i>', Url::toRoute(['create']), ['data-pjax' => 0, 'class' => 'btn btn-default', 'title' => \Yii::t('support', 'New category')]) . ' ' . Html::a('<i class="glyphicon glyphicon-repeat"></i>', Url::toRoute(['index']), ['data-pjax' => 0, 'class' => 'btn btn-default', 'title' => Yii::t('support', 'Reset filter')]) . ' ' . Html::a('<i class="glyphicon glyphicon-list-alt"></i>', Url::toRoute(['check']), ['data-pjax' => 0, 'class' => 'btn btn-default', 'title' => Yii::t('support', 'Check filling')])]], 'panel' => ['type' => \kartik\grid\GridView::TYPE_DEFAULT], 'layout' => "{toolbar}{items}{pager}", 'pager' => ['options' => ['class' => 'pagination pagination-sm no-margin']], 'columns' => [['attribute' => 'lang_code', 'filterType' => GridView::FILTER_SELECT2, 'filterWidgetOptions' => ['theme' => 'default', 'data' => Language::listMap(), 'options' => ['placeholder' => Yii::t('support', 'Language')], 'pluginOptions' => ['allowClear' => true]], 'width' => '10%'], ['attribute' => 'key', 'width' => '40%'], ['attribute' => 'title', 'width' => '40%'], ['class' => 'yii\\grid\\ActionColumn', 'template' => '{update} {delete}']]]); $this->endContent();
use yii\helpers\Url; use yii\helpers\Html; use yii\web\JsExpression; use yii\bootstrap\ActiveForm; use kartik\select2\Select2; use jarrus90\Multilang\Models\Language; $this->params['breadcrumbs'][] = $this->title; $this->beginContent('@jarrus90/Content/views/_adminLayout.php'); ?> <?php $form = ActiveForm::begin(['layout' => 'horizontal', 'enableAjaxValidation' => true, 'enableClientValidation' => false, 'fieldConfig' => ['horizontalCssClasses' => ['wrapper' => 'col-sm-9']]]); ?> <?php echo $form->field($model, 'key'); echo $form->field($model, 'lang_code')->widget(Select2::className(), ['theme' => 'default', 'data' => Language::listMap(), 'pluginEvents' => ["change" => "function() { \$('#page-category_key').val('').trigger('change'); }"], 'options' => ['placeholder' => Yii::t('content', 'Select language')]]); echo $form->field($model, 'title'); echo $form->field($model, 'content')->widget(\jarrus90\Content\Widgets\Redactor::className(), ['clientOptions' => ['lang' => Yii::$app->language, 'minHeight' => 200, 'plugins' => ['fontsize', 'fontcolor', 'fontfamily', 'table', 'counter', 'fullscreen', 'imagemanager']]]); echo $form->field($model, 'category_key')->widget(Select2::className(), ['theme' => 'default', 'pluginOptions' => ['ajax' => ['url' => Url::toRoute('/content/category/list'), 'dataType' => 'json', 'delay' => 50, 'data' => new JsExpression('function(params) { return {lang: $(\'#page-lang_code\').val()}; }')], 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'), 'templateResult' => new JsExpression('function (procedure) { return procedure.text; }'), 'templateSelection' => new JsExpression('function (procedure) { return procedure.text; }')], 'options' => ['placeholder' => Yii::t('support', 'Select category')]]); echo $form->field($model, 'meta_keywords'); echo $form->field($model, 'meta_description'); ?> <?php echo Html::submitButton(Yii::t('content', 'Save'), ['class' => 'btn btn-success btn-block']); ?> <?php ActiveForm::end(); $this->endContent();
<?php /** * @var $this yii\web\View * @var $model jarrus90\User\models\Role */ use yii\helpers\Html; use yii\bootstrap\ActiveForm; use kartik\select2\Select2; use jarrus90\Multilang\Models\Language; $this->params['breadcrumbs'][] = $this->title; $this->beginContent('@jarrus90/Content/views/_adminLayout.php'); ?> <?php $form = ActiveForm::begin(['layout' => 'horizontal', 'enableAjaxValidation' => true, 'enableClientValidation' => false, 'fieldConfig' => ['horizontalCssClasses' => ['wrapper' => 'col-sm-9']]]); echo $form->field($model, 'key'); echo $form->field($model, 'lang_code')->widget(Select2::className(), ['theme' => 'default', 'data' => Language::listMap(), 'options' => ['placeholder' => Yii::t('content', 'Select language')]]); echo $form->field($model, 'title'); echo $form->field($model, 'content')->widget(\jarrus90\Content\Widgets\Redactor::className(), ['clientOptions' => ['lang' => Yii::$app->language, 'minHeight' => 200, 'plugins' => ['fontsize', 'fontcolor', 'fontfamily', 'table', 'counter', 'fullscreen', 'imagemanager']]]); ?> <?php echo Html::submitButton(Yii::t('content', 'Save'), ['class' => 'btn btn-success btn-block']); ?> <?php ActiveForm::end(); $this->endContent();