<?php echo $form->field($searchModel, 'updated_at_from')->widget(\kartik\datetime\DateTimePicker::className()); ?> <?php echo $form->field($searchModel, 'updated_at_to')->widget(\kartik\datetime\DateTimePicker::className()); ?> <?php echo $form->field($searchModel, 'auth_at_from')->widget(\kartik\datetime\DateTimePicker::className()); ?> <?php echo $form->field($searchModel, 'auth_at_to')->widget(\kartik\datetime\DateTimePicker::className()); ?> <? /** * @var $searchModel \skeeks\cms\models\CmsUser */ $searchRelatedPropertiesModel = new \skeeks\cms\models\searchs\SearchRelatedPropertiesModel(); $searchRelatedPropertiesModel->propertyElementClassName = \skeeks\cms\models\CmsUserProperty::className(); $searchRelatedPropertiesModel->initProperties($searchModel->relatedProperties); $searchRelatedPropertiesModel->load(\Yii::$app->request->get()); $searchRelatedPropertiesModel->search($dataProvider, $searchModel::tableName()); ?> <?php echo $form->relatedFields($searchRelatedPropertiesModel); ?> <? $form::end(); ?>
/** * @param CmsContent $cmsContent * @return array */ public static function getColumnsByContent($cmsContent = null, $dataProvider = null) { $autoColumns = []; if (!$cmsContent) { return []; } $model = CmsContentElement::find()->where(['content_id' => $cmsContent->id])->one(); if (!$model) { $model = new CmsContentElement(['content_id' => $cmsContent->id]); } 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 { return $model->{$name}; } }]; } $searchRelatedPropertiesModel = new \skeeks\cms\models\searchs\SearchRelatedPropertiesModel(); $searchRelatedPropertiesModel->initProperties($cmsContent->cmsContentProperties); $searchRelatedPropertiesModel->load(\Yii::$app->request->get()); if ($dataProvider) { $searchRelatedPropertiesModel->search($dataProvider); } /** * @var $model \skeeks\cms\models\CmsContentElement */ if ($model->relatedPropertiesModel) { $autoColumns = ArrayHelper::merge($autoColumns, GridViewStandart::getColumnsByRelatedPropertiesModel($model->relatedPropertiesModel, $searchRelatedPropertiesModel)); } } return $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 { return $model->{$name}; } }]; } $searchRelatedPropertiesModel = new \skeeks\cms\models\searchs\SearchRelatedPropertiesModel(); $searchRelatedPropertiesModel->initCmsContent($model->cmsContent); $searchRelatedPropertiesModel->load(\Yii::$app->request->get()); $searchRelatedPropertiesModel->search($dataProvider); /** * @var $model \skeeks\cms\models\CmsContentElement */ if ($model->relatedPropertiesModel) { foreach ($model->relatedPropertiesModel->attributeValues() as $name => $value) { $property = $model->relatedPropertiesModel->getRelatedProperty($name); $filter = ''; if ($property->property_type == \skeeks\cms\relatedProperties\PropertyType::CODE_ELEMENT) { $propertyType = $property->createPropertyType(); $options = \skeeks\cms\models\CmsContentElement::find()->active()->andWhere(['content_id' => $propertyType->content_id])->all(); $items = \yii\helpers\ArrayHelper::merge(['' => ''], \yii\helpers\ArrayHelper::map($options, 'id', 'name')); $filter = \yii\helpers\Html::activeDropDownList($searchRelatedPropertiesModel, $name, $items, ['class' => 'form-control']); } else { if ($property->property_type == \skeeks\cms\relatedProperties\PropertyType::CODE_LIST) { $items = \yii\helpers\ArrayHelper::merge(['' => ''], \yii\helpers\ArrayHelper::map($property->enums, 'id', 'value'));
*/ /* @var $this yii\web\View */ /* @var $searchModel common\models\searchs\Game */ /* @var $dataProvider yii\data\ActiveDataProvider */ ?> <? $pjax = \skeeks\cms\modules\admin\widgets\Pjax::begin(); ?> <? $user = new \skeeks\cms\models\CmsUser(); $searchRelatedPropertiesModel = new \skeeks\cms\models\searchs\SearchRelatedPropertiesModel(); $searchRelatedPropertiesModel->propertyElementClassName = \skeeks\cms\models\CmsUserProperty::className(); $searchRelatedPropertiesModel->initProperties( $user->relatedProperties ); $searchRelatedPropertiesModel->load(\Yii::$app->request->get()); if ($dataProvider) { $searchRelatedPropertiesModel->search($dataProvider, $user->tableName()); } if ($user->relatedPropertiesModel) { $autoColumns = \skeeks\cms\modules\admin\widgets\GridViewStandart::getColumnsByRelatedPropertiesModel($user->relatedPropertiesModel, $searchRelatedPropertiesModel); } ?> <?php echo $this->render('_search', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]); ?> <?php echo \skeeks\cms\modules\admin\widgets\GridViewStandart::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'adminController' => $controller, 'pjax' => $pjax, 'columns' => \yii\helpers\ArrayHelper::merge([['class' => \skeeks\cms\grid\ImageColumn2::className(), 'attribute' => 'image_id', 'relationName' => 'image'], 'username', 'name', 'email', ['class' => \skeeks\cms\grid\BooleanColumn::className(), 'attribute' => "email_is_approved", 'trueValue' => 1, 'falseValue' => 0], 'phone', ['class' => \skeeks\cms\grid\BooleanColumn::className(), 'attribute' => "phone_is_approved", 'trueValue' => 1, 'falseValue' => 0], ['class' => \skeeks\cms\grid\CreatedAtColumn::className()], ['class' => \skeeks\cms\grid\DateTimeColumnData::className(), 'attribute' => 'logged_at'], ['class' => \yii\grid\DataColumn::className(), 'filter' => \yii\helpers\Html::activeListBox($searchModel, 'role', \yii\helpers\ArrayHelper::merge(['' => ' - '], \yii\helpers\ArrayHelper::map(\Yii::$app->authManager->getRoles(), 'name', 'description')), ['size' => 1, 'class' => 'form-control']), 'value' => function (\skeeks\cms\models\User $model) { $result = []; if ($roles = \Yii::$app->authManager->getRolesByUser($model->id)) {