【问题标题】:Custom error templates for Symfony2 exceptionsSymfony2 异常的自定义错误模板
【发布时间】:2011-12-15 20:08:24
【问题描述】:

如何自定义 Symfony2 异常(例如 HTTP 404 错误)模板?

我在 symfony.com 上找到了一些材料,但它们不起作用,有一些路径应该放置默认异常模板,但在我的项目中没有这样的目录。他们的文档似乎已经过时了。

【问题讨论】:

    标签: php templates exception-handling symfony


    【解决方案1】:

    在这里:

    app
     |- Resources
     |  | - TwigBundle
     |  |  |- view
     |  |  |  |- Exception
     |  |  |  |  |- error.html.twig
     |  |  |  |  |- error400.html.twig
     |  |  |  |  |- error404.html.twig
     |  |  |  |  |- error500.html.twig
     |  | - view
     |  |  |- base.html.twig
     |- config
         [...]
    

    以 \vendor\symfony\src\Symfony\Bundle\TwigBundle\Resources\views\Exception\error*.html.twig 为例

    【讨论】:

    • 在 symfony.com 上也是如此,但在 \vendor\symfony\src\Symfony\Bundle\TwigBundle\Resources 中没有名为 views 的目录。但是我尝试了在app\Resources\TwigBundle\view\Exception 中只包含单词“test”的error.html.twig 文件,但它不起作用,正在调用默认错误模板
    • 实际的错误模板放在\vendor\symfony\src\Symfony\Bundle\FrameworkBundle\Resources\views\Exception下,这就是为什么我认为symfony.com上的文档已经过时了
    • 您说得好是关于 prod env 而不是 dev env?最后一个很特别。关于你的 Exception 目录路径,如果你从原始 Symfony_Standard_Vendors_2.0.4.zip 中检查,你会发现我写的 Exception 目录。
    • 在 prod env 中的路径与 dev env 不同吗?如果是这样,我应该如何在 prod env 中使用我的客户模板?
    • 不不,是同一个路径,只是在dev env中,使用的模板是exception.html.twig而不是error500.html.twig & co。
    【解决方案2】:

    要覆盖异常模板(异常不是错误),这是要覆盖的真正模板。

    app > 资源 > TwigBundle > 视图 > 异常 > exception.html.twig

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-05
      相关资源
      最近更新 更多