PageController::actionView PHP Метод

actionView() публичный Метод

экшн для отображения конкретной страницы, отображает опубликованные страницы и превью
public actionView ( $slug )
    public function actionView($slug)
    {
        $model = (int) Yii::app()->getRequest()->getQuery('preview') === 1 && Yii::app()->getUser()->isSuperUser() ? Page::model()->find('slug = :slug AND (lang=:lang OR (lang IS NULL))', [':slug' => $slug, ':lang' => Yii::app()->language]) : Page::model()->published()->find('slug = :slug AND (lang = :lang OR (lang = :deflang))', [':slug' => $slug, ':lang' => Yii::app()->language, ':deflang' => $this->yupe->defaultLanguage]);
        if (null === $model) {
            throw new CHttpException(404, Yii::t('PageModule.page', 'Page was not found'));
        }
        // проверим что пользователь может просматривать эту страницу
        if ($model->isProtected() && !Yii::app()->getUser()->isAuthenticated()) {
            Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::ERROR_MESSAGE, Yii::t('PageModule.page', 'You must be authorized user for view this page!'));
            $this->redirect([Yii::app()->getModule('user')->accountActivationSuccess]);
        }
        $this->currentPage = $model;
        $view = $model->view ? $model->view : 'view';
        $this->render($view, ['model' => $model]);
    }