2010-11-28 52 views
0

我有一個方法在我的控制器處理通用頁面請求,爲我的公共頁面。當我無法匹配URL中的內容以及我知道的靜態內容頁面時,我想拋出404錯誤。未知的錯誤嘗試扔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 \意見\佈局\ default.ctp,line 10]

「$ this-> layout ='blank';」是我嘗試重定向到一個空白的佈局文件,不包括任何CSS,JS等,但它完全忽略了這一點,並加載了JS包含的默認模板。我猜測加載404頁面的錯誤例程無法訪問這些方法,這是錯誤的根源。

但我無法弄清楚如何處理這個錯誤。

回答

2

首先,代碼中存在一個小錯誤。 cakeError()的第二個參數已經是一個數組。它應該是:

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

其次,你可以設置

$this->layout = false; 

如果你想有一個空白的佈局。

+0

謝謝。我問另一個SO問題更清楚。 – Justin 2010-11-28 19:03:26