use*_*658 7 custom-error-pages symfony
我试图在Symfony中自定义错误页面.
这是我的error.html.twig文件位于app/Resources/TwigBundle/views/Exception/:
{% extends '::base.html.twig' %}
{% block body %}
<h1>{{ status_code }}: {{ status_text }}</h1>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
不幸的是我收到以下错误消息:
致命错误:第144行上的供应商\ symfony\symfony\src\Symfony\Component\HttpKernel\EventListener\RouterListener.php中未捕获的异常'Symfony\Component\Routing\Exception\ResourceNotFoundException'
当我删除{% extends '::base.html.twig' %}一切工作正常.有关如何将我的基本模板包含在错误页面中的任何想法?
编辑1:
奇怪的是它似乎在抛出403时工作,例如,当我访问/user但没有必要的权限时.
编辑2:
我将我的整个内容粘贴base.html.twig到error.html.twig文件中,并注意到错误是由于KnpMenuBundle捆绑包呈现的菜单引起的:
{{ knp_menu_render('ACMEMemberBundle:Builder:mainMenu', { 'style': 'pills', 'currentClass': 'active' }) }}
Run Code Online (Sandbox Code Playgroud)
当我删除这一行时,一切正常.但这不是我想要的方式.导航没有可能吗?
您是否将页面放在以下位置?
/app/ResourceS/TwigBundle/views/Exception/error404.html.twig
{% extends '::base.html.twig' %}
{% block content %}
{%trans%}errors.404{%endtrans%}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)