要自定义错误页面,我创建了一个error404.html.twig页面来处理页面未找到的异常,例如当用户输入无效的URL时。它工作正常但我还需要根据我的应用程序中的错误显示不同的消息。
为此,我使用createNotFoundException()方法并将消息作为参数,但是当抛出异常时消息不会出现我总是在error404.html.twig模板中有消息。 那么如何在错误页面模板中显示createNotFoundException()中的message参数?谢谢你的帮助
答案 0 :(得分:0)
error404.html.twig
页面是一个关于通用NotFoundException
的问题:事实上,您确实在开发模式下看到了调试跟踪,但是您在prod中看到了精美的自定义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;
}
或者你可以写一个等待这种事件的听众,这取决于你。