我想显示404错误页面,因为我在我的protected/view/system文件夹中创建了error404.php文件。YII如何处理自定义404错误页面以及其他错误页面
默认情况下,我有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” =>“网站/错误”,从配置主则它通过调用
throw new CHttpException(404, 'Page not found');
但这样做,我只能看到页面而不布局还包括其他的自定义错误显示404错误与404相同,但它们不相同。我多次阅读手册,但仍无法解决它。
我不得不改变它到这个'if($ error = Yii :: app() - > errorHandler->错误['code'])''error-> code' was给我错误。 'getViewFile'也给我这个错误。 'CWebApplication及其行为没有名为“getViewFile”的方法或闭包。 (/Applications/XAMPP/xamppfiles/htdocs/wm/common/lib/yii/framework/base/CComponent.php:266)'有什么想法? – user2636556 2014-03-27 06:28:25
'error-> code'的错误信息是'注意:试图在48行上的/Applications/XAMPP/xamppfiles/htdocs/wm/backend/controllers/SiteController.php中获取非对象的属性@Boris – user2636556 2014-03-27 07:06:13
You是对的。应用程序类中没有getViewFile方法。应该调用控制器的方法:$ this-> getViewFile(...) – 2014-03-31 22:06:00