0

エラーページをカスタマイズするために、ユーザーが無効な URL を入力した場合など、ページが見つからないという例外を処理する error404.html.twig ページを作成しました。正常に動作しますが、アプリケーションのエラーに応じて異なるメッセージを表示する必要もあります。

そのために、パラメーターとしてメッセージを指定して createNotFoundException() メソッドを使用しますが、例外がスローされたときにメッセージが表示されません。常に error404.html.twig テンプレートにメッセージがあります。では、エラー ページ テンプレートで createNotFoundException() からのメッセージ パラメータを表示するにはどうすればよいでしょうか。ご協力いただきありがとうございます

4

1 に答える 1

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;

}

または、そのようなイベントを待機するリスナーを作成することもできます。それはあなた次第です。

于 2012-09-16T16:17:32.183 に答える