public function actionCategory($alias) { $model = ArticleCategory::find()->andWhere(['alias' => $alias])->isPublished()->one(); if (!$model) { throw new NotFoundHttpException(\Yii::t('app', 'Page not found')); } return $this->commonAction($model); }
/** * Renders the menu. */ public function run() { $this->options = ['tag' => 'ul', 'class' => 'nav navbar-nav navbar-right']; $this->encodeLabels = false; $this->items[] = ['label' => \Yii::t('app', 'Home'), 'url' => [DummyModel::getHomeRoute()]]; /** @var ArticleCategory[] $categories */ $categories = ArticleCategory::find()->from(['t' => ArticleCategory::tableName()])->joinWith(['articles'], true, 'RIGHT JOIN')->andWhere(['t.published' => 1])->orderBy('t.position DESC, t.id')->groupBy('t.id')->all(); \Yii::$app->params['categoryModels'] = $categories; foreach ($categories as $category) { $this->items[] = ['label' => $category->label, 'url' => [ArticleCategory::getIndexRoute(), 'alias' => $category->alias]]; } parent::run(); }