Пользовательские страницы ошибок для плагина CakePHP

#php #cakephp

#php #cakephp

Вопрос:

Я работаю с CakePHP 1.3 и я ищу любые ошибки (отсутствующий контроллер, отсутствующая страница и т.д.), Которые содержат префикс / admin /, исходящий от одного из моих плагинов (с использованием макета плагина), В отличие от обслуживания с использованием макета по умолчанию.ctp моих веб-сайтов.

Где лучше всего разместить код для этого?

Ответ №1:

Я смог решить эту проблему, перегрузив функцию _outputMessage() в ErrorHandler, сохранив следующее как app/app_error.php

 <?php

class AppError extends ErrorHandler {

    function _outputMessage( $template ) {

        $url = $this->controller->params['url']['url'];
        if( substr( $url, 0, 6 ) == 'admin/' ) {
            $this->controller->layout = 'admin_default';
        }

        parent::_outputMessage( $template );
    }
}
?>