Symfony2:自定义错误页面扩展base.html.twig

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.twigerror.html.twig文件中,并注意到错误是由于KnpMenuBundle捆绑包呈现的菜单引起的:

{{ knp_menu_render('ACMEMemberBundle:Builder:mainMenu', { 'style': 'pills', 'currentClass': 'active' }) }}
Run Code Online (Sandbox Code Playgroud)

当我删除这一行时,一切正常.但这不是我想要的方式.导航没有可能吗?

Cho*_*hop 0

您是否将页面放在以下位置?

/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)