我在错误视图中创建了一个error400.ctp。采用默认布局,但我想更改自定义布局
下面是我使用的代码,但是没有工作
public function error404() {
$this->layout = 'customlayout'; // here i user customlayout instead of default
}
请建议我如何使用我的自定义布局
感谢Sanjib
答案 0 :(得分:3)
更改core.php中的ExceptionRenderer以使用您自己的渲染器。
应用程序/配置/ core.php中:
Configure::write('Exception', array(
'handler' => 'ErrorHandler::handleException',
'renderer' => 'MyExceptionRenderer',
'log' => true
));
然后创建新文件MyExceptionRenderer.php
应用程序/ LIB /错误/ MyExceptionRenderer.php:
<?php
App::uses('ExceptionRenderer', 'Error');
class MyExceptionRenderer extends ExceptionRenderer {
protected function _outputMessage($template) {
$this->controller->layout = 'innerdefault';
parent::_outputMessage($template);
}
}
?>
这对我来说很好,让我们尝试分享你的想法