主に致命的なエラーのときなどに、正常処理とは異なるページで
表示したい場合
//コントローラなどで例外ページ呼び出し処理を行う。
$this->cakeError(“error”, array(‘msg’=>’エラーメッセージ’));
——————————————————————-
■エラーハンドハンドラ作成
/app/app_error.phpを作成する
class AppError extends ErrorHandler {
function error($params) {
//呼び出されたのが配列のキー[msg]に入ってくる
$this->controller->set(‘msg’, $params[‘msg’]);
//error.ctpを使用する
$this->_outputMessage(‘error’);
}
}
——————————————————————-
■エラーのview作成
/app/views/errors/error.ctpを作成する
<?php
/**
* エラー発生時のとび先
*/
?>
<p>
<strong><?php echo $msg; ?></strong>
</p>
——————————————————————-
JQueryのloadを使用していると(まあ当然だが)
うまくいかなかったので再リクエストで対応した。
エラー発生時に詰める
$this->ErrorHandle->setError(“登録・更新処理で問題が発生しました。”);
以下をリクエスト
function error() {
//例外ページへ
$this->cakeError(“error”, array(‘msg’=>$this->ErrorHandle->getError()));
}