Exemple #1
0
 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]);
 }
Exemple #2
0
            <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]);
Exemple #5
0
                '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)