【问题标题】:Symfony2: Custom Error Page Extend base.html.twigSymfony2:自定义错误页面扩展 base.html.twig
【发布时间】: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


【解决方案1】:

文件应该位于app/Resources/views/Exception/

而不是

app/Resources/TwigBundle/views/Exception/

【讨论】:

    【解决方案2】:

    你把页面放在下面的地方了吗?

    /app/ResourceS/TwigBundle/views/Exception/error404.html.twig

    {% extends '::base.html.twig' %}
    {% block content %}
    {%trans%}errors.404{%endtrans%}
     {% endblock %} 
    

    【讨论】:

      【解决方案3】:
      // app/Resouces/views/base.html.twig
      
      ×
      {% include('path/to/include') %}
      
      ○
      {% include('::path/to/include') %}
      

      【讨论】:

        【解决方案4】:

        我终于将整个代码(基本代码+当前代码)放在同一个“error.html.twig”文件中。

        它对我有用,避免了一个巨大的头痛。

        【讨论】:

          【解决方案5】:

          请删除第一行中的 :: https://symfony.com/doc/current/templating.html

           {% extends 'base.html.twig' %}
          
          {% block body %}
          
          <h1>{{ status_code }}: {{ status_text }}</h1>
          
          {% endblock %}
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-01-19
            • 2012-09-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多