public function loadModel($id) { if (!($model = Page::findOne($id))) { throw new NotFoundHttpException(Yii::t('gromver.platform', 'The requested page does not exist.')); } return $model; }
protected function launch() { if ($this->page && !$this->page instanceof Page) { $this->page = Page::findOne(intval($this->page)); } if (empty($this->page)) { throw new InvalidConfigException(Yii::t('gromver.platform', 'Page not found.')); } if ($this->useHighlights) { CkeditorHighlightAsset::register($this->getView()); } echo $this->render($this->layout, ['model' => $this->page]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Page::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['updated_at' => SORT_DESC]]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, 'status' => $this->status, 'created_by' => $this->created_by, 'updated_by' => $this->updated_by, 'hits' => $this->hits, 'lock' => $this->lock]); $query->andFilterWhere(['like', '{{%grom_page}}.language', $this->language])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'alias', $this->alias])->andFilterWhere(['like', 'preview_text', $this->preview_text])->andFilterWhere(['like', 'detail_text', $this->detail_text])->andFilterWhere(['like', 'metakey', $this->metakey])->andFilterWhere(['like', 'metadesc', $this->metadesc]); if ($this->tags) { $query->innerJoinWith('tags')->andFilterWhere(['{{%grom_tag}}.id' => $this->tags]); } return $dataProvider; }
/** * Finds the Page model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Page the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Page::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException(Yii::t('gromver.platform', 'The requested page does not exist.')); } }
* @var string $route */ $this->title = Yii::t('gromver.platform', 'Select Page'); $this->params['breadcrumbs'][] = $this->title; ?> <div class="page-index"> <?php /*<h1><?= Html::encode($this->title) ?></h1>*/ ?> <?php // echo $this->render('_search', ['model' => $searchModel]); ?> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'id' => 'grid', 'pjax' => true, 'pjaxSettings' => ['neverTimeout' => true], 'columns' => [['attribute' => 'id', 'width' => '50px'], ['attribute' => 'language', 'width' => '50px', 'filter' => Yii::$app->getLanguagesList()], ['attribute' => 'title', 'value' => function ($model) { /** @var $model \gromver\platform\common\models\Page */ return $model->title . '<br/>' . Html::tag('small', $model->alias, ['class' => 'text-muted']); }, 'format' => 'html'], ['attribute' => 'status', 'value' => function ($model, $index, $widget) { /** @var $model \gromver\platform\common\models\Page */ return $model->getStatusLabel(); }, 'filter' => \gromver\platform\common\models\Page::statusLabels()], ['attribute' => 'tags', 'value' => function ($model) { /** @var $model \gromver\platform\common\models\Page */ return implode(', ', \yii\helpers\ArrayHelper::map($model->tags, 'id', 'title')); }, 'filterType' => \dosamigos\selectize\Selectize::className(), 'filterWidgetOptions' => ['items' => \yii\helpers\ArrayHelper::map(\gromver\platform\common\models\Tag::find()->where(['id' => $searchModel->tags])->all(), 'id', 'title', 'group'), 'clientOptions' => ['maxItems' => 1], 'url' => ['/grom/default/tag-list']]], ['value' => function ($model) use($route) { return Html::a(Yii::t('gromver.platform', 'Select'), '#', ['class' => 'btn btn-primary btn-xs', 'onclick' => \gromver\widgets\ModalIFrame::emitDataJs(['id' => $model->id, 'description' => Yii::t('gromver.platform', 'Page: {title}', ['title' => $model->title]), 'link' => \gromver\platform\common\models\MenuItem::toRoute($route, ['id' => $model->id]), 'value' => $model->id . ':' . $model->alias])]); }, 'format' => 'raw']], 'responsive' => true, 'hover' => true, 'condensed' => true, 'floatHeader' => true, 'floatHeaderOptions' => ['scrollingTop' => 0], 'bordered' => false, 'panel' => ['heading' => '<h3 class="panel-title"><i class="glyphicon glyphicon-th-list"></i> ' . Html::encode($this->title) . '</h3>', 'type' => 'info', 'after' => Html::a('<i class="glyphicon glyphicon-repeat"></i> ' . Yii::t('gromver.platform', 'Reset List'), [null], ['class' => 'btn btn-info']), 'showFooter' => false]]); ?> </div>
/** * @param \gromver\platform\common\models\Page $model */ public function loadModel($model) { $this->attributes = $model->toArray([], ['published', 'tags', 'text', 'date']); }