Пользовательские страницы ошибок для 404 и 500 статусов

0

Я хочу иметь разные страницы ошибок для 404 и 500 ошибок. Как я могу это сделать?

Я работаю только в производственной среде. Я переопределил шаблоны ошибок twig и поместил их в папку app/Resources/TwigBundle/views/Exception.

Я хотел создать там два файла:

error404.html.twig
exception_full.html.twig

Таким образом, если он 404, он откроет первый файл, и в любом другом случае он откроет другой.

У меня есть пара проблем:

  • первый файл никогда не открывается при ошибке 404... только второй и symfony по умолчанию, если он не существует
  • Я не могу расширить базовый шаблон ни в одном из них ({% extends '::layout.html.twig' %}), потому что, если я его использую, шаблон просто не загружается

Какие-либо предложения?

Благодарю!

  • 0
    Согласно этому ответу stackoverflow.com/a/12675355/4074148 пользовательские страницы ошибок отображаются только в prod env. Вы тестировали в prod env, чтобы увидеть, видите ли вы пользовательские страницы?
  • 0
    Как я уже сказал, я использую prod env;)
Показать ещё 2 комментария
Теги:

1 ответ

0

измените ваше имя exception_full.html.twig на просто error.html.twig. Он работает для меня вот так. У меня есть несколько файлов error4xx, и если я не определил конкретный код и это исключение, оно отобразит представление error.html.twig.

Что касается не отображения вашего базового шаблона, где именно находится ваш базовый шаблон? Если вы используете синтаксис '::layout.html.twig' то layout.html.twig должен располагаться в app/Resources/views/layout.html.twig. Если это так, то вы должны получить ошибку, которая объясняет, почему она не будет загружаться.

взгляните на документы для получения дополнительной информации.

  • 0
    layout.html.file находится в нужном месте, поэтому я думаю, что это странно. Кроме того, пользовательские функции веток блокируют обработку исключений.
  • 0
    О, я понял! Он не обрабатывает исключения, потому что внутри шаблона макета есть переменная app.user.username . Почему это происходит?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню