Créer des pages d’erreur 404 personnalisées avec CodeIgniter
Il y a deux manières d’afficher une erreur 404 :
- Soit par défaut, quand on appelle une page qui n’existe tout simplement pas.
- Soit en forçant son affichage avec la fonction
show_404()
, lorsque la page existe mais qu’on souhaite la faire aboutir sur une erreur. Par exemple si l’internaute se rend sur une fiche produit qui n’existe pas.
Les deux cas vont se traiter de façon différente. Si vous n’utilisez pas la fonction show_404()
, vous n’aurez que la première étape à mettre en place.
Etape 1 : Personnaliser la page d’erreur sous codeigniter
Dans le fichier application/config/routes.php
, on va renseigner quelle page nous souhaitons afficher. Dans cet exemple, on va appeler le controller oups
, et la méthode e_404()
.
Cette méthode load les vues ‘header.php’, ‘404.php’ et ‘footer.php’, ce qui permet de conserver le même template de page que sur le site. Dans le fichier 404.php, on envoie le texte à afficher via la variable $this->data.
Etape 2 : Personnaliser la page d’erreur appelée par show_404()
Maintenant, personnalisons également la page d’erreur qui s’affichera quand vous utiliserez la fonction show_404()
. Pour cela nous allons devoir créer notre propre fonction show_404()
, en surchargeant la class CI_Exceptions()
.
Vous devrez bien veillez à afficher vos vues après les avoir loadées, et si besoin à réinitialiser les variables nécessaires au bon fonctionnement de votre header, footer.
Autre point intéressant : vous pouvez passer comme argument de show_404() une information telle que le nom de la page qui a provoqué l’erreur. En utilisant cet argument, vous pouvez personnaliser le message d’erreur ou afficher un contenu pertinent en fonction de l’erreur rencontrée.
Si cet article vous a aidé, si vous avez des questions ou des améliorations à proposer, n'hésitez pas à me laisser un commentaire en bas de page !