404 ошибка

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
domowdenis
Сообщения: 35
Зарегистрирован: 2018.12.24, 17:29

404 ошибка

Сообщение domowdenis »

Добрый.
Не совсем пониманию - как правильно организовать в Yii2 отдельно 404 ошибку .

Например в контроллере у меня такой вот блок - т.е. я хочу чтобы когда не находится продукт в результате запросе - выкидывать на site/404 (исп. рендер site/404.php) / ошибка в работе скрипта - выкидывать скажем - site/error, исп. уже другой рендер

Код: Выделить всё

        
        //Если не найден продукт
        if (empty($product)) {
            throw new NotFoundHttpException(Yii::t('app', 'Страница не найдена.'),404);
        }
        //Иначе выводим товар
        else {
        
        }
        
у меня выводится http://prntscr.com/nvaw5f - т.е. обработчик site/error отработал ,
но url не меняется (т.е. остался тот же) и как отрендерить непосредственно шаблон site/404 - мне не понятно.
Пробовал так - но не работает..Не могу понять - что не так

Код: Выделить всё

    public function actionError()
    {
        $exception = Yii::$app->errorHandler->exception;
        if ($exception !== null) {
            if ($exception->getCode() == 404)
                return $this->render('404', ['exception' => $exception]);
            else
                return $this->render('error', ['exception' => $exception]);
        }
    }
domowdenis
Сообщения: 35
Зарегистрирован: 2018.12.24, 17:29

Re: 404 ошибка

Сообщение domowdenis »

Разобрался.

Нужно в контроллере отрубать - http://prntscr.com/nvcl5p, иначе не выполняется переход в action actionError
Закрыто