Example #1
0
    <?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;
 }
Example #3
0
     $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 {
                 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']);
Example #4
0
 *
 * @author Semenov Alexander <*****@*****.**>
 * @link http://skeeks.com/
 * @copyright 2010-2014 SkeekS (Sx)
 * @date 30.10.2014
 * @since 1.0.0
 */
/* @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]);