Я хочу отобразить страницу ошибок 404, для которой я сделал файл error404.php в моей защищенной/view/системной папке.
По умолчанию у меня есть Sitecontroller и он содержит функцию действия с ошибкой, как показано ниже
public function actionError()
{
if($error=Yii::app()->errorHandler->error)
{
if(Yii::app()->request->isAjaxRequest)
echo $error['message'];
else
$this->render('error', $error);
}
}
внутри основного файла конфигурации он определяется как
'errorHandler'=>array(
// use 'site/error' action to display errors
'errorAction'=>'site/error',
),
Моя проблема в том, что мне нужно настроить только страницу 404, остальную часть ошибки мне нужно обрабатывать так, как она обрабатывается функцией ошибки sitecontroller. Но я не мог найти способ сделать это. Если предположим, что я удаляю 'errorAction' = > 'site/error', из основной конфигурации, то он показывает ошибку 404, вызывая
throw new CHttpException(404, 'Page not found');
но при этом я могу видеть только страницу без макета, а другие пользовательские ошибки обрабатываются так же, как и 404, пока они не являются. Я читал руководство много раз, но я все еще не могу его решить.