0

これはこれまでのところ私が持っているものです:

app/Config/core.php

Configure::write('debug', 2);

app/Config/bootstrap.php

CakePlugin::loadAll(array('bootstrap' => true));

アプリ/プラグイン/コア/bootstrap.php

Configure::write('Exception.renderer', 'Core.AppExceptionRenderer');

アプリ/プラグイン/コア/ライブラリ/エラー/AppExceptionRenderer.php

App::uses('ExceptionRenderer', 'Error');

class AppExceptionRenderer extends ExceptionRenderer {

    public function notFound($error) {
        echo $error->getMessage();
    }

    public function missingController($error) {
        echo $error->getMessage();
    }
}

これらの単純なエコーは機能します。

今、私は各エラー関数がCoreプラグインからのビューをレンダリングする(リダイレクトしない!)ようにしたいapp/Plugin/Core/View/Pages/error.

/Errors/error400.ctpエラーページのコンテンツは管理パネルからユーザーが編集できるため、静的ページ (たとえば)をレンダリングしたくありません。

エラー ページのレイアウトは、 というテーマで設定する必要がありますDefault

http://book.cakephp.org/2.0/en/development/exceptions.html

4

2 に答える 2

1

これがあなたがやっていることだと思います.レイアウトとビューをbeforeFilterメソッドでレンダリングするように設定します-

class AppExceptionRenderer extends ExceptionRenderer {
    public function beforeFilter() {
        $this->layout = 'YOUR_LAYOUT'; // Setting the default layout to your layout
        $this->view   = '../../Plugin/Core/View/Pages/error'; //Check this path to your ctp file
    }
...
...
}
于 2013-10-18T05:48:57.560 に答える