Comment faire pour afficher la page d'erreur 404 personnalisée - Symfony2
J'ai cela dans mon controller:
if(some stuff) {
throw $this->createNotFoundException('message');
}
Quand je l'ai tester en dev env, je reçois la commande page disant Exception détectée avec mon texte, mais je ne peux pas le tester en prod env 🙁 j'exécute ce php app/console cache:clear --env=prod --no-debug
puis remplacez-les uniquement dans l'URL app_dev.php
avec app.php
mais la barre d'outils et de Symfony page d'erreur séjour.
J'ai créé ce fichier - app/Resources/TwigBundle/views/Exception/error.html.twig
. Il en sera ainsi rendu en prod?
Ce qu'il est:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>An Error Occurred: {{ status_text }}</title>
</head>
<body>
<h1>Oops! An Error Occurred</h1>
<h2>The server returned a "{{ status_code }} {{ status_text }}".</h2>
</body>
</html>
où dois-je donner les valeurs pour status_code
et status _text
? Ou elles sont prises à partir de l'exception?
Donc, en général, ce que je veux faire, c'est quand une condition dans mon contolleur de l'action est vrai mine d'erreur personnalisé page s'affichent en prod, env. Est ce que j'ai déjà, et si non, comment le faire et comment pour voir le résultat en prod env?
OriginalL'auteur Faery | 2012-09-28
Vous devez vous connecter pour publier un commentaire.
J'ai aussi essayé et j'ai remarqué que les pages d'erreur personnalisées placé dans app/Resources/TwigBundle/views/Exception/erreur.html.brindille a travaillé uniquement en environnement de prod.
$useDebugging = false;
dansindex.php
. Vous aurez besoin de vider les caches par la suite.Pour moi cela ne fonctionne pas. Et je ne sais pas pourquoi. J'ai même vidé le cache. J'utilise la version 3.1.3
Si je mets un fichier nommé exception_full.html.brindille dans le répertoire fonctionne très bien. Mais. toutes les erreurs des modèles sera remplacée par celle-ci. Mais, j'ai besoin de modèles différents pour chaque code d'erreur... sfy docs dit que je dois placer un fichier nommé errorxxx.html.brindille ( xx est le code d'erreur ). Mais, il ne fonctionne pas comme cela. Une Idée ??? ( symfony.com/doc/current/controller/error_pages.html )
OriginalL'auteur Chopchop
Mieux vaut tard que jamais, je suppose..
Vous le savez sans doute sur la substitution de modèles.
Vous pouvez remplacer n'importe quel modèle que vous souhaitez.
Donc, si vous voulez remplacer les dev page d'erreur, juste pour le débogage, puis vous devez remplacer le modèle:
Vous pouvez le faire par la création d'un tel fichier dans ce dossier:
Maintenant, vous verrez votre personnalisé 404 en dev mode.
Si je mets un fichier nommé exception_full.html.brindille dans le répertoire fonctionne très bien. Mais. toutes les erreurs des modèles sera remplacée par celle-ci. Mais, j'ai besoin de modèles différents pour chaque code d'erreur... sfy docs dit que je dois placer un fichier nommé errorxxx.html.brindille ( xx est le code d'erreur ). Mais, il ne fonctionne pas comme cela. Une Idée ??? ( symfony.com/doc/current/controller/error_pages.html )
OriginalL'auteur Jimmy Knoot
vous pouvez accéder à votre détecté texte présentant de la manière suivante:
OriginalL'auteur meteor
Lire la doc http://symfony.com/doc/2.0/cookbook/controller/error_pages.html
et Personnalisation de la Page 404, et d'autres Pages d'Erreur
http://symfony.com/doc/2.0/cookbook/controller/error_pages.html#customizing-the-404-page-and-other-error-pages
Essayez en prod, env, les erreurs sont affichées dans le dev (pour vous aider) donc il ne veux pas travailler.
Vous réponse aurait été mieux si l'élément de réponse étaient également sur StackOverflow dans la pas dans un lien externe qui pourrait changer ou déplacer.
Cela ne répond pas à la question. L'OP est demander pour la visualisation prod erreur modèles en dev.
OriginalL'auteur Artjom Zabelin
Il semble Symfony a une nouvelle façon de vous permettre de voir la page d'erreur des modèles dans votre environnement de dev. La prise de docs:
Lire la suite: Symfony Erreur Des Pages De Manuel
OriginalL'auteur Shane N