Dica Rápida – CakePHP – Personalizando as páginas de erros PDF Imprimir E-mail
Avaliação do Usuário: / 1
PiorMelhor 
Escrito por Cauan Gama Cabral   
Qui, 28 de Janeiro de 2010 19:46

A grosso modo, existem dois tipos de erros no CakePHP:

Erros de codificação e configuração:

Quando acessamos um endereço de nossa aplicação e está faltando alguma coisa, o CakePHP nos retorna uma mensagem avisando sobre o erro ocorrido e a causa dele (o que falta fazer).

Erros HTTP:
Quando tentamos acessar um endereço inexistente (erro 404) e quando há falha no servidor (erro 500).

O primeiro tipo deixa de ser exibido quando você configura o debug para o valor zero. A partir deste momento todos os erros relacionados ao primeiro tipo serão mostrados como um erro 404.
O segundo tipo é exibido não importando o valor do debug.

Como personalizar essas mensagens?

Caso queira usar o mesmo layou definido no arquivo app/views/layouts/default.ctp, você precisará apenas criar uma pasta chamada errors dentro da pasta views  (caso ela não exista) e depois criar um arquivo para cada erro, ficando mais ou menos assim:

app/views/errors/error404.ctp
app/views/errors/error500.ctp
app/views/errors/missing_action.ctp

Veja a lista completa de arquivos acessando o diretório cake/libs/views/errors/
Caso queira ir um pouco além, personalizando também o layout da mensagem, adicione um arquivo com o layout definido em app/views/layouts/. Vamos chamar esse arquivo de errors.ctp;
Em seguida, vamos adicionar o seguinte código em nosso AppController:

/**
* Caso já esteja usando o beforeRender, apenas adicione a linha interna abaixo ao seu beforeRender
*/

function beforeRender () {
$this->_setErrorLayout();
}
 
function _setErrorLayout() {
if($this->name == 'CakeError') {
$this->layout = 'error';
}
}

Pronto, agora é só personalizar o arquivo errors.ctp da forma que achar melhor =]
Dica retirada do Teknoid

Leia mais http://cauancabral.net/2010/01/28/dica-rapida-cakephp-personalizando-as-paginas-de-erros/

 

Adicionar comentário


Código de segurança
Atualizar