Не совсем пониманию - как правильно организовать в Yii2 отдельно 404 ошибку .
Например в контроллере у меня такой вот блок - т.е. я хочу чтобы когда не находится продукт в результате запросе - выкидывать на site/404 (исп. рендер site/404.php) / ошибка в работе скрипта - выкидывать скажем - site/error, исп. уже другой рендер
Код: Выделить всё
//Если не найден продукт
if (empty($product)) {
throw new NotFoundHttpException(Yii::t('app', 'Страница не найдена.'),404);
}
//Иначе выводим товар
else {
}
но 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]);
}
}