1

我的大部分 Symfony 应用程序都在每个捆绑包的控制器“前端”和“后端”的两个子目录中分开。我想要做的是为前端和后端 404 错误提供 2 个不同的错误页面。覆盖通用树枝错误模板很容易,但我想知道确定它是否应该呈现前端或后端错误模板的最佳方法是什么。我是否必须为此重写 Twig 异常处理,或者有一些内置功能可以实现这一点。谢谢!

4

2 回答 2

0

后端用户会只使用后端还是他们也可能使用前端?如果经过身份验证的用户只使用后端,那么您可以在 404 模板中添加一个 if 语句。

{% if is_granted('ROLE_ADMIN') %}
    {# authenticated 404 markup #}
    ...
{% else %}
    {# standard 404 markup #}
    ...
{% endif %}
于 2013-01-15T13:16:04.070 回答
-2

我为该功能制作了一个捆绑包,它适用于“kernel.exception_listener”侦听器和“kernel.exception”事件,如文档中所述(http://symfony.com/doc/current/cookbook/controller/ error_pages.html#use-kernel-exception-event)。

使用此捆绑包,您可以:

  1. 从您想要的路线的正则表达式更改树枝异常模板
  2. 仅更改某些 http 状态代码的 twig 异常模板
  3. 启用/禁用调试模式的自定义模板

链接到捆绑包(MIT 许可证):https ://github.com/Kwrz/TwigException

希望有帮助!

于 2015-01-03T13:05:47.730 回答