Des pages d'erreur personnalisées avec des modèles dans CodeIgniter
Je suis en utilisant le modèle de la bibliothèque pour CodeIgniter, http://williamsconcepts.com/ci/codeigniter/libraries/template/reference.html, et maintenant je veux le mettre en œuvre des pages d'erreur personnalisées. J'en ai trouvé une méthode impliquant une MY_Router extension du routeur par défaut: http://maestric.com/doc/php/codeigniter_404 mais qui ne traite que des erreurs 404. Je veux toutes les erreurs pour afficher une simple page conviviale, y compris les erreurs de base de données etc, et je veux passer par un contrôleur, en partie, donc je peux utiliser le modèle de la bibliothèque, et, en partie, donc je peux aussi mettre en œuvre une fonction e-mail à envoyer moi des informations sur l'erreur qui s'est produite.
Quelqu'un a demandé à propos de l'extension de la fonctionnalité de ce qui précède MY_Router méthode pour les autres erreurs, comme error_db, mais n'a obtenu aucune réponse de l'auteur, donc je suis tournent ici pour voir si quelqu'un sait comment faire, le long de la lignes de la méthode ci-dessus ou de toute autre manière simple de l'atteindre. Veuillez noter que je suis un débutant, donc ne supposons pas trop à ma connaissance de base de CodeIgniter fonctionnalités 🙂
/application/errors/error_*
fichiers, il existe des modèles db erreur, 404, erreur php et des erreurs générales, de sorte que vous pouvez travailler avec elleet vous pouvez prolonger CI des classes de base (exactement vous avez besoin d'étendre CI_Exceptions) comme expliqué ici
Je sais que sur l'erreur des fichiers, mais je ne sais pas comment les faire utiliser le modèle de la bibliothèque pour les faire ressembler le reste du site. Comment puis-je prolonger la CI des classes de base pour y parvenir? Veuillez fournir une réponse avec des exemples...
Je ne sais pas comment votre site est en cours de conception, mais que les fichiers que contient sa propre conception qui vous voulez changer, je ne pense pas que c'est difficile à faire si vous savez quoi faire
OriginalL'auteur Anders | 2011-10-04
Vous devez vous connecter pour publier un commentaire.
Je fais comme ça:
J'ai créer ma propre page d'erreur, et à chaque fois que je dois jeter une erreur 404, en fait, je charge ma page 404.
Donc dire que mon contrôleur par défaut est site.php mon site.php ressemble à ceci:
J'ai donc servir l'home/404.php chaque fois qu'une erreur se produit. c'est à dire, je ne le fais pas CodeIgniter pour appeler
show_404();
donc la page 404, ressemble à n'importe quelle autre page.p.s. Je suppose que vous avez suivi le tutoriel de nice dans CodeIgniter du site.
OriginalL'auteur jeff
La façon la plus simple pour créer des pages d'erreur personnalisées est d'éditer les fichiers à
/application/views/errors/html/error_*.php
commeerror_404.php
(erreur 404),error_db.php
(pour les erreurs de base de données) eterror_general.php
(pour la plupart des autres erreurs).Que ces pages sont à l'intérieur de votre
application
répertoire, vous êtes libre de les personnaliser à vos besoins.Normal de votre modèle de vue ressemble à quelque chose comme ceci:
Vous pouvez adapter cette dans votre
/application/views/errors/html/error_*.php
les fichiers comme suit:Avis que nous ne sommes plus à l'aide de points de vue, mais au lieu de cela, y compris les fichiers de vue pour la
header
&footer
.Une autre chose à noter:
Dans le
header
point de vue, je suis de passage d'un$data
objet qui comprend$data['page_title']
. Comme les pages d'erreur, ne pas utiliser de points de vue, vous devez ajouter les variables que vous auriez normalement passer dans la vue, d'où la présence de$page_title
.OriginalL'auteur dvdsmpsn
modifier
tapez ici votre contrôleur par exemple d'Erreur
créer un fonction indice et charge votre vue
OriginalL'auteur Kavvson Empcraft