findModel($id); /** * @var SeoComponent $seo * @var FilterHelper $filterHelper */ $seo = Yii::$app->get('seo'); $seo->setModel($model->lang); $filterHelper = \Yii::$app->get('filter'); $filterHelper->setFilter($filter); $query = $filterHelper->buildQuery(); $dataProvider = new ActiveDataProvider( [ 'query' => $query, 'pagination' => [ 'pageSize' => 18, ], ] ); return $this->render( 'view', [ 'model' => $model, 'dataProvider' => $dataProvider, ] ); } /** * Find category by ID * * @param $id * * @return \artbox\core\models\Page * @throws \yii\web\NotFoundHttpException */ protected function findModel($id) { /** * @var SeoComponent $seo */ $seo = Yii::$app->get('seo'); /** * @var Page $model */ $model = Category::findWithFilters($id) ->with('lang.alias') ->with('categories.lang') ->with( [ 'parent' => function ($query) { /** * @var ActiveQuery $query */ $query->with('lang', 'categories.lang'); }, ] ) ->one(); $seo->setAlias($model->lang->alias); if (!empty( $model )) { if ($model->lang->alias_id !== $seo->aliasId) { throw new NotFoundHttpException('Wrong language'); } return $model; } else { throw new NotFoundHttpException('Model not found'); } } }