尝试抛出404页面时出现未知错误

时间:2010-11-28 18:32:27

标签: cakephp php cakephp-1.2

我的控制器中有一个处理通用页面请求的方法,用于我的公共页面。当我无法匹配URL中的内容以及我所知道的静态内容页面时,我想抛出404。

所以我这样做:

$opts = array(
 'name' => 'Some message',
 'code' => 404,
 'message' => 'Your message here',
 'base' => $this->base
);
$this->layout = 'blank';
$this->cakeError('error', array($opts));

问题是我在404请求中收到此错误:

  

注意(8):未定义的变量:javascript [APP \ views \ layouts \ default.ctp,第10行]

“$ this-> layout ='blank';”是我尝试重定向到一个空白的布局文件,不包括任何CSS,JS等。但它完全忽略了这一点并加载了包含JS的默认模板。我猜测加载404页面的错误例程无法访问这些方法,这是错误的来源。

但我无法弄清楚如何处理这个错误。

1 个答案:

答案 0 :(得分:2)

首先,您的代码中存在一个小错误。你对cakeError()的第二个参数已经是一个数组。它应该是:

$this->cakeError('error', $opts);

其次,你可以设置

$this->layout = false;

如果你想要一个空白的布局。