2012-09-16 3 views
0

오류 페이지를 사용자 정의하려면 사용자가 잘못된 URL을 입력 할 때와 같이 page not found 예외를 처리하기 위해 error404.html.twig 페이지를 작성했습니다. 그것은 잘 작동하지만 내 응용 프로그램의 오류에 따라 다른 메시지를 표시해야합니다.symfony2 사용자 정의 오류 페이지

왜냐하면 매개 변수로 메시지와 함께 createNotFoundException() 메소드를 사용하지만 예외가 발생하면 메시지가 나타나지 않아 나는 항상 error404.html.twig 템플릿에 메시지가 있습니다. 그럼 오류 페이지 템플릿의 createNotFoundException()에서 message 매개 변수를 어떻게 표시 할 수 있습니까? 도움을 주셔서 감사합니다

답변

0

NotFoundException 페이지는 일반적인 디버그 추적을 dev 모드에서 볼 수 있지만 멋진 사용자 정의 HTML이 표시됩니다.

맞춤 404 동작이 필요한 경우 Response을 직접 작성하고 적절한 404 Not Found 상태를 삽입 한 다음 적절한 본문을 삽입해야합니다.

$product = $em -> getRepository("Acme:Product") -> findOneById($id); 

if($product === NULL) 
{ 

    $response = $this -> render('YourBundle::Errors/404.html.twig', array(
     'message' => 'blah blah' 
    )); 

    $response -> setStatus(404);  

    return $response; 

} 

또는 같은 이벤트를 기다리는 리스너를 작성할 수, 그것은 당신에게 달려 있습니다.

관련 문제