我想在Symfony中自定義錯誤頁面。Symfony2:自定義錯誤頁面擴展base.html.twig
這是我error.html.twig
文件位於app/Resources/TwigBundle/views/Exception/
:
{% extends '::base.html.twig' %}
{% block body %}
<h1>{{ status_code }}: {{ status_text }}</h1>
{% endblock %}
不幸的是我得到了以下錯誤消息:
Fatal error: Uncaught exception 'Symfony\Component\Routing\Exception\ResourceNotFoundException' in [...] vendor\symfony\symfony\src\Symfony\Component\HttpKernel\EventListener\RouterListener.php on line 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' }) }}
當我刪除此行,一切正常。但這不是我想去的方式。有沒有可能保持導航?
http://stackoverflow.com/questions刪除::/12634961/how-to-show-customized-404-error-page-symfony2 –
@阿比亞感謝您的評論。如果您指的是生產環境,我實際上是在生產模式下運行我的應用程序。 – user3367658
我有類似的問題。那裏的問題是在當前請求的路由中使用'path'。 404錯誤沒有路由。 –