【发布时间】:2014-03-01 08:00:29
【问题描述】:
我正在尝试自定义 Symfony 中的错误页面。
这是我的error.html.twig 文件,位于app/Resources/TwigBundle/views/Exception/:
{% extends '::base.html.twig' %}
{% block body %}
<h1>{{ status_code }}: {{ status_text }}</h1>
{% endblock %}
很遗憾,我收到以下错误消息:
致命错误:未捕获的异常 'Symfony\Component\Routing\Exception\ResourceNotFoundException' 在 [...] 供应商\symfony\symfony\src\Symfony\Component\HttpKernel\EventListener\RouterListener.php 在第 144 行
当我删除 {% 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' }) }}
当我删除此行时,一切正常。但这不是我想走的路。有没有可能保留导航?
【问题讨论】:
-
@abbiya 感谢您的评论。如果您指的是生产环境,我实际上是在生产模式下运行我的应用程序。
-
我遇到了类似的问题。问题在于将
path与当前请求的路由一起使用。 404 错误没有路由。
标签: symfony custom-error-pages