/** * Метод возвращает список категорий в виде ассоциативного массива * @return array список категорий */ public static function getCategorieslList() { $model = Categories::find()->active()->all(); $result = []; foreach ($model as $value) { $result[$value->id] = $value->name; } return $result; }
/** * Метод просмотра категории блога и списка связанных статей * Если категория не будет найдена то будет вызвано 404 исключение * @param integer $id уникальный идентификатор статьи * @throws NotFoundHttpException если запись не будет найдена * @return mixed */ public function actionView($id = FALSE) { if ($id == FALSE && isset($_GET) && array_key_exists('id', $_GET)) { $id = $GET['id']; } elseif ($id == FALSE && !isset($_GET)) { throw new \yii\web\HttpException(404, 'Страница не найдена', 404); } $categorie = Categories::find()->where(['id' => $id])->with('articles')->active(); $countQuery = clone $categorie; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => Yii::$app->params['pageSize']]); $pages->pageSizeParam = false; $post = $categorie->offset($pages->offset)->limit($pages->limit)->all(); $categorie = $categorie->one(); if (!$categorie instanceof Categories) { throw new \yii\web\HttpException(404, 'Страница не найдена', 404); } return $this->render('view', ['categorie' => $categorie, 'pages' => $pages]); }
public function init() { parent::init(); $this->categories = Categories::find()->active()->all(); }
/** * Метод генерации списка категорий блога * @return mixed */ public function actionIndex() { $this->layout = '//admin'; $dataProvider = new ActiveDataProvider(['query' => Categories::find(), 'pagination' => ['pageSize' => 25]]); return $this->render('index', ['dataProvider' => $dataProvider]); }