为了自定义错误页面,我创建了一个 error404.html.twig 页面来处理页面未找到异常,例如当用户输入无效 url 时。它工作正常,但我还需要根据我的应用程序中的错误显示不同的消息。
为此,我使用带有消息作为参数的 createNotFoundException() 方法,但是在引发异常时消息不会出现,我总是在 error404.html.twig 模板中有消息。那么如何在我的错误页面模板中显示来自 createNotFoundException() 的消息参数?谢谢你的帮助
为了自定义错误页面,我创建了一个 error404.html.twig 页面来处理页面未找到异常,例如当用户输入无效 url 时。它工作正常,但我还需要根据我的应用程序中的错误显示不同的消息。
为此,我使用带有消息作为参数的 createNotFoundException() 方法,但是在引发异常时消息不会出现,我总是在 error404.html.twig 模板中有消息。那么如何在我的错误页面模板中显示来自 createNotFoundException() 的消息参数?谢谢你的帮助
该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;
}
或者您可以编写一个等待此类事件的侦听器,这取决于您。