YII, как обрабатывать пользовательские страницы ошибок 404 вместе с другими страницами ошибок
Я хочу отобразить страницу ошибки 404, для которой я сделал файл error404.php в моей защищенной папке / view / system.
По умолчанию у меня есть 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» = «сайт / ошибка», из главной конфигурации, то он показывает ошибку 404, вызвав
throw new CHttpException(404, 'Page not found');
но при этом я могу видеть только страницу без макета, а другие пользовательские ошибки обрабатываются так же, как 404, а они - нет. Я прочитал руководство много раз, но я все еще не могу решить его.