Bonjour,
Je cherche à afficher une page error404. J'utilise la version 3.5 de Cakephp.
Dans une premier temps je remarque que toutes les erreurs retournées sont des 500. (a priori normale, si j'ai bien lu la doc)
Par contre, je ne vois pas vers ou me diriger pour obtenir la bonne erreur.
J'ai tenté de modifier les template et le layout error mais rine n'y fait.
Vers ou je dois concentrer mes recherches s'il vous plait
Cheers...

6 réponses


digaburla
Auteur
Réponse acceptée

Salut Lakamark, solution !!!

En fait j'avais effectivement une erreur dûe à un bout de code dans AppController, du coup le systeme bugger avant de pouvoir renvoyer les exceptions ! Bref du coup je peux gérer mes erreurs sbnas soucis. Merci

Pour infos, le passage de Cake à Laravel s'est passé comment ?
++

Je me doutai que ma question n'allait pas avoir beaucoup de succès ;)

Bonjour,
Par défaut CAKEPHP arrive avec des vues error400.ctp et error500.ctp qui sont dans le répectoire src/Template/Error/ Tu n'as tout simplement à créer un nouveau fichier error404.ctp dans le même répectoire que les deux autre fichiers. Le nom à de l'importance. Il faut vraiment que le nom du fichier commence par error[satus_code_here].ctp Tu prend le code source d'un des fichiers error400 et tu colle ce même code source dans ton nouveau fichier error404.ctp par exemple.

À l'époque j'utlisait cette technique. Ça fait craiment très longtemps que j'ai abandonée CAKEPHP pour du laravel.

Bonne chance!

Merci pour ta réponse. Seulement Cake ne renvoi que des erreurs 500 d'une part et je penses que ta méthode fonctionnait sur la V2, mais la V3 il y a un autre truc à faire mais je coince ... :/

As-tu pensé activer le debug?

Et bien il faut le désactiver pour afficher les erreurs ! Justement je suis dessus depuis un peu de temps j'essai de retrouver ceci :

$this->name == 'CakeError'

Que l'on trouvez dans la version V2, pour essayer de mettre ca dans le beforeRender de AppController :

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

^^