/** * Списочный вывод всех фотогалерей * @return string */ public function actionIndex() { $cacheId = $this->getActionCacheId(static::LIST_CACHE_ID); $res = Yii::$app->cache->get($cacheId); if (empty($res)) { $model = Yii::createObject(['class' => Gallery::className()]); $dependency = Yii::createObject(TagDependency::className()); $dataProvider = $model->publicSearch(); $dataProvider->getSort()->defaultOrder = $this->orderBy; $dataProvider->getPagination()->pageSize = $this->pageSize; $dependency->addTag($model->setClassTagSafe()); $dependency->setTagsFromModels($dataProvider->getModels()); $res["html"] = $this->renderPartial('_grid', ["dataProvider" => $dataProvider]); Yii::$app->cache->set($cacheId, $res, Yii::$app->params["cacheDuration"], $dependency); } $this->view->title = Yii::t('photogallery/app', 'Photogallery'); $this->view->addBreadCrumb(["label" => $this->view->title]); return $this->render("index", ["html" => $res["html"]]); }
<?php use app\modules\photogallery\models; return ['controllerMap' => ['migrate' => ['migrationLookup' => ['@webapp/modules/photogallery/migrations']]], 'modules' => ['photogallery' => ['class' => 'app\\modules\\photogallery\\Photogallery', 'controllerNamespace' => 'app\\modules\\photogallery\\controllers', 'modules' => ['admin' => ['class' => 'app\\modules\\photogallery\\modules\\admin\\Admin', 'controllerNamespace' => 'app\\modules\\photogallery\\modules\\admin\\controllers', 'menuItems' => function () { return [['label' => Yii::t('photogallery/app', 'Photogallery'), 'icon' => 'glyphicon glyphicon-picture', 'items' => [['label' => Yii::t('photogallery/app', 'Galleries'), 'url' => ['/admin/photogallery/gallery'], "permission" => ["listModels", ["model" => Yii::createObject(models\Gallery::className())]]]]]]; }]]]], 'components' => ['i18n' => ['translations' => ['photogallery/*' => ['class' => 'yii\\i18n\\PhpMessageSource', 'basePath' => '@webapp/modules/photogallery/messages', 'fileMap' => ['photogallery/app' => 'app.php']]]], 'urlManager' => ['rules' => ['photogallery/<code:[A-z0-9_-]+>' => 'photogallery/default/detail', 'photogallery' => 'photogallery/default/index']]]];
/** * Действия * @return array */ public function actions() { $class = Gallery::className(); return ['index' => ['class' => crud\Admin::className(), 'modelClass' => $class, 'orderBy' => ["sort" => SORT_DESC]], 'create' => ['class' => crud\Create::className(), 'modelClass' => $class], 'update' => ['class' => crud\Update::className(), 'modelClass' => $class], 'view' => ['class' => crud\View::className(), 'modelClass' => $class], 'delete' => ['class' => crud\Delete::className(), 'modelClass' => $class], 'groupdelete' => ['class' => crud\GroupDelete::className(), 'modelClass' => $class], 'editable' => ['class' => crud\XEditable::className(), 'modelClass' => $class]]; }