ここの情報に基づく: Using a custom renderer with Exception.renderer to handle application exceptions
XML 形式でレンダリングするカスタム エラー レンダラーを作成しています。
以下は、app/Lib/Error/AppExceptionRenderer の render 関数のサンプル コードです。
public function render() {
if (isset($this->controller->request->params['xml'])) {
$this->controller->viewClass = "MyXml";
$error = array(
'app' => array(
'error' => 'An unexpected error has occured.'
)
);
$this->controller->set('error', $error);
$this->controller->set('_serialize', 'error');
}
}
ただし、何も返されません。if
条件内でいくつかのエコーを実行しましたが、それは示しています。
AppExceptionRenderer::render() ステージにある間にviewClassが初期化されていないためですか?
エラーもありませんでした。
"MyXml" viewClass は、通常のコントローラーでも完全に機能します。