我正在尝试在Symfony中自定义错误页面。
这是位于error.html.twig
的<{1}}文件:
app/Resources/TwigBundle/views/Exception/
不幸的是我收到以下错误消息:
致命错误:未捕获的异常 'Symfony \ Component \ Routing \ Exception \ ResourceNotFoundException'中 [...] 供应商\ symfony的\ symfony的\ SRC \的Symfony \元器件\ HttpKernel \事件监听\ RouterListener.php 在第144行
当我删除{% extends '::base.html.twig' %}
{% block body %}
<h1>{{ status_code }}: {{ status_text }}</h1>
{% endblock %}
时,一切正常。有关如何将我的基本模板包含在错误页面中的任何想法吗?
编辑1:
奇怪的是,它似乎在403被抛出时起作用,例如,当我访问{% extends '::base.html.twig' %}
但没有必要的权限时。
编辑2:
我将/user
的所有内容粘贴到base.html.twig
文件中,发现该错误是由于error.html.twig
包提供的菜单引起的:
KnpMenuBundle
当我删除此行时,一切正常。但这不是我想要的方式。是否没有可能保持导航?
答案 0 :(得分:1)
文件应位于app/Resources/views/Exception/
而不是
app/Resources/TwigBundle/views/Exception/
答案 1 :(得分:0)
您是否将页面放在以下位置?
/app/ResourceS/TwigBundle/views/Exception/error404.html.twig
{% extends '::base.html.twig' %}
{% block content %}
{%trans%}errors.404{%endtrans%}
{% endblock %}
答案 2 :(得分:0)
// app/Resouces/views/base.html.twig
×
{% include('path/to/include') %}
○
{% include('::path/to/include') %}
答案 3 :(得分:0)
我终于完成了将整个代码(base + current)放在同一个'error.html.twig'文件中。
它适用于我,避免了一个巨大的头痛。
答案 4 :(得分:0)
删除第一行https://symfony.com/doc/current/templating.html
中的 ::android:layout_weight