2015-01-29 2 views
1

문서 http://symfony.com/doc/current/cookbook/controller/error_pages.html에 이어 오류에 대한 고유 한 템플릿을 추가 할 수있었습니다.Symfony2의 개발자 및 제작을위한 다양한 오류 템플릿

app 
|- Resources 
| | - TwigBundle 
| | |- view 
| | | |- Exception 
| | | | |- exception.html.twig 
| | | | |- error.html.twig 
| | | | |- error400.html.twig 
| | | | |- error404.html.twig 
| | | | |- error500.html.twig 
| | | |- layout.html.twig 
|- config 

완벽하게 작동하지만 어떻게 스택 추적 및 내 dev 환경에 대한 자세한 오류를 유지합니까?

제작시 자신의 템플릿을 사용하고 싶습니다. 개발자 환경에서 Symfony2의 템플릿을 사용하고 싶습니다.

+0

아직도 내가있는 동안, 전체 스택 트레이스와 함께 "녹색"외국인 페이지를 던졌다 'dev' 모드였습니다. 그러나'prod'로 옮기면 커스텀 에러 페이지가 대신 표시됩니다. –

+0

그건 나를위한 것 같지 않아, 음. 'app' 내에서 템플릿을 똑같이 설정 했습니까? –

+0

마찬가지로 'error403.html.twig' 만있었습니다. 'Symfony 2.6'을 다른 용도로 사용합니까? 그들은'2.6'에서 오류 페이지를 미리 보면서 몇 가지 일을 더 쉽게 해냈습니다. –

답변

3
app 
|- Resources 
| |- TwigBundle 
| | |- view 
| | | |- Exception 
| | | | |- exception.html.twig 
| | | | |- error.html.twig 
| | | | |- error400.html.twig 
| | | | |- error404.html.twig 
| | | | |- error500.html.twig 
| | | |- layout.html.twig 
| |- view 
| | |- my_custom_error_layout.html.twig 
|- config 

my_custom_error_layout.html.twig

<!DOCTYPE> 
<html> 
<head> 
</head> 
<body> 
html, block, whatnot go here 
</body> 
</html> 

error400.html.twig

{% extends "::my_custom_error_layout.html.twig" %} 

{% block body %} 
details or fixed message go here... 
{% endblock %} 
1

최근의 프로젝트에서 우리는 위와 같이 구성된 사용자 정의 ExceptionListener 구현 :

<!-- Acme Exception Listener --> 
    <service id="kernel.listener.customer_area_exception_listener" class="AcmeSecurityBundle\Listener\AcmeExceptionListener"> 
     <argument type="service" id="templating" /> 
     <argument>%acme.exceptions.debug%</argument> 
     <tag name="kernel.event_listener" event="kernel.exception" method="onKernelException" /> 
    </service> 

env의 동작을 구분하기위한 매개 변수 (parameters.yml)가 있습니다.

예외 리스너는 모든 유형의 Exception, 사용자 정의 Exception도 렌더링하는 방법을 알고 있습니다.

희망이 도움이 난 그냥 같은 지난 밤에 일을하고 그리고 지금까지 내가 Symfony2` (`v2.5`)`에 볼 수있는 등 한