public function run() { if ($this->parentModel->isNewRecord) { return ""; } /** * @var $controller AdminModelEditorController */ $controller = \Yii::$app->createController($this->controllerRoute)[0]; $rerlation = []; foreach ($this->relation as $relationLink => $parent) { if ($this->parentModel->getAttribute($parent)) { $rerlation[$relationLink] = $this->parentModel->{$parent}; } else { $rerlation[$relationLink] = $parent; } } $createUrl = \skeeks\cms\helpers\UrlHelper::construct($this->controllerRoute . '/' . $this->controllerCreateAction, $rerlation)->setSystemParam(\skeeks\cms\modules\admin\Module::SYSTEM_QUERY_EMPTY_LAYOUT, 'true')->setSystemParam(\skeeks\cms\modules\admin\Module::SYSTEM_QUERY_NO_ACTIONS_MODEL, 'true')->enableAdmin()->toString(); $sortableUrl = \skeeks\cms\helpers\UrlHelper::construct($this->controllerRoute . '/' . $this->controllerSortableAction)->enableAdmin()->toString(); $search = new \skeeks\cms\models\Search($controller->modelClassName); $search->getDataProvider()->query->where($rerlation); if (isset($this->sort['defaultOrder'])) { $search->getDataProvider()->sort->defaultOrder = $this->sort['defaultOrder']; } if ($this->dataProviderCallback && is_callable($this->dataProviderCallback)) { $function = $this->dataProviderCallback; $function($search->getDataProvider()); } $pjaxId = "sx-table-" . md5($this->label . $this->hint . $this->parentModel->className()); $gridOptions = ArrayHelper::merge(['pjaxOptions' => ['id' => $pjaxId], "sortableOptions" => ['backend' => $sortableUrl], 'dataProvider' => $search->getDataProvider(), 'layout' => "\n{beforeTable}\n{items}\n{afterTable}\n{pager}", 'columns' => [['class' => \skeeks\cms\modules\admin\grid\ActionColumn::className(), 'controller' => $controller, 'isOpenNewWindow' => true]]], (array) $this->gridViewOptions); return $this->render('related-models-grid', ['widget' => $this, 'createUrl' => $createUrl, 'controller' => $controller, 'gridOptions' => $gridOptions, 'pjaxId' => $pjaxId]); }
<button type="submit" class="btn btn-danger btn-xs" onclick="sx.ComponentSettings.Remove.removeUsers(); return false;"> <i class="glyphicon glyphicon-remove"></i> <?php echo \Yii::t('app', 'Reset settings for all users'); ?> </button> <?php } else { ?> <small><?php echo \Yii::t('app', 'Neither user does not have personal settings for this component'); ?> </small> <?php } ?> </div> <?php $search = new \skeeks\cms\models\Search(\skeeks\cms\models\User::className()); $search->search(\Yii::$app->request->get()); $search->getDataProvider()->query->andWhere(['active' => \skeeks\cms\components\Cms::BOOL_Y]); ?> <?php echo \skeeks\cms\modules\admin\widgets\GridViewHasSettings::widget(['dataProvider' => $search->getDataProvider(), 'filterModel' => $search->getLoadedModel(), 'columns' => [['class' => \yii\grid\DataColumn::className(), 'value' => function (\skeeks\cms\models\User $model, $key, $index, $this) { return \yii\helpers\Html::a('<i class="glyphicon glyphicon-cog"></i>', \skeeks\cms\helpers\UrlHelper::constructCurrent()->setRoute('cms/admin-component-settings/user')->set('user_id', $model->id)->toString(), ['class' => 'btn btn-default btn-xs', 'title' => \Yii::t('app', 'Customize')]); }, 'format' => 'raw'], 'username', 'name', ['class' => \skeeks\cms\grid\ComponentSettingsColumn::className(), 'component' => $component]]]); ?> <?php echo $this->render('_footer');
?> <?php $content_id = $content->id; ?> <?php } } ?> <?php if ($content_id) { ?> <?php $dataProvider = new \yii\data\ActiveDataProvider(['query' => \skeeks\cms\models\CmsContentElement::find()]); $search = new \skeeks\cms\models\Search(\skeeks\cms\models\CmsContentElement::className()); $dataProvider = $search->search(\Yii::$app->request->queryParams); $searchModel = $search->loadedModel; $dataProvider->setSort(['defaultOrder' => ['published_at' => SORT_DESC]]); if ($content_id = \Yii::$app->request->get('content_id')) { $dataProvider->query->andWhere(['content_id' => $content_id]); } $autoColumns = []; $model = \skeeks\cms\models\CmsContentElement::find()->where(['content_id' => $content_id])->one(); if (is_array($model) || is_object($model)) { //Добавление колонок по моделе элемента foreach ($model as $name => $value) { $autoColumns[] = ['attribute' => $name, 'visible' => false, 'format' => 'raw', 'class' => \yii\grid\DataColumn::className(), 'value' => function ($model, $key, $index) use($name) { if (is_array($model->{$name})) { return implode(",", $model->{$name}); } else {
<?php /** * @author Semenov Alexander <*****@*****.**> * @link http://skeeks.com/ * @copyright 2010 SkeekS (СкикС) * @date 14.07.2015 */ /* @var $this yii\web\View */ /* @var $model \skeeks\cms\models\CmsContentElement */ $search = new \skeeks\cms\models\Search(\skeeks\cms\reviews2\models\Reviews2Message::className()); $dataProvider = $search->search(\Yii::$app->request->queryParams); $dataProvider->query->andWhere(['element_id' => $model->id]); ?> <?php echo $this->render('@skeeks/cms/reviews2/views/admin-message/index', ['dataProvider' => $dataProvider, 'searchModel' => $search->getLoadedModel(), 'controller' => \Yii::$app->createController('/reviews2/admin-message')[0], 'isOpenNewWindow' => true]);
'style' => 'width: 100%; height: 800px;' ] ]); ?> <?php echo $form->fieldSetEnd(); ?> <?php echo $form->fieldSet(\Yii::t('skeeks/cms', 'File storage')); ?> <? $search = new \skeeks\cms\models\Search(\skeeks\cms\models\StorageFile::className()); $dataProvider = $search->getDataProvider(); $dataProvider->sort->defaultOrder = [ 'created_at' => SORT_DESC ]; ?> <?php echo \skeeks\cms\widgets\StorageFileManager::widget(['clientOptions' => ['completeUploadFile' => new \yii\web\JsExpression(<<<JS function(data) { _.delay(function() { \$.pjax.reload('#sx-storage-files', {}); }, 500)