/** * Публичное отображение документа * @param $alias - Url-адрес документа * @return string * @throws NotFoundHttpException */ public function actionShow($alias) { // Отображаем только опубликованные документы $model = Document::find()->where(['alias' => $alias, 'status' => Document::STATUS_ACTIVE])->one(); if ($model == null) { throw new NotFoundHttpException(Yii::t('document', 'Запрашиваемая страница не найдена.')); } Visit::check($model->id); // Фиксируем просмотр $views = Visit::getAll($model->id); // Считаем просмотры $likes = Like::getAll($model->id); // Считаем лайки // Если задан шаблон отображения, то отображаем согласно нему, иначе стандартное отображение статьи $template = isset($model->template) && $model->template->path ? $model->template->path : '@vendor/lowbase/yii2-document/views/document/template/default'; return $this->render($template, ['model' => $model, 'views' => $views ? $views[0]->count : 0, 'likes' => $likes ? $likes[0]->count : 0]); }