ログインフォームと登録フォームを同じページに入れる必要があります。私はSymfony 3.2とFOS User Bundleを使用しています。 FOSUserBundleの1つのテンプレートにsymfony3ログインと登録フォーム
は、私が見つかりましたこの:私の最初のアプローチはでしたが、問題があるHow to merge login and register form in one template on FOSUserBundle。検証エラーの場合、ページは別のルートにリダイレクトされます(送信されたフォームのテンプレートのみが表示されます)。問題は、SecurityControllerとRegistrationControllerが、両方のfosコントローラをtwigでレンダリングするコントローラを認識しておらず、フォームテンプレートだけを表示することです。このアプローチでは、メインテンプレートを表示するためにfosコントローラが表示しているテンプレートを上書きすることはできません。無限の再帰を生成するからです。
フォームの検証エラーでリダイレクトするためにfosコントローラをオーバーライドしようとしましたが、リダイレクトによって検証メッセージが失われてしまいました。
また、私は(このような:http://symfony.com/doc/current/controller/forwarding.html)の両方FOS SecurityControllerとRegistrationControllerに要求を転送しようとしましたが、ログインのチェック動作のために、私が手:あなたが使用してファイアウォールによって処理されるように、チェックのパスを設定する必要があります のRuntimeException」をセキュリティファイアウォールの設定でform_loginを実行してください。 'それは既に設定されていましたが、リクエストを直接コントローラに転送すると問題が発生しているように見えます(チェックメソッドが実行時例外を返すので、ログインチェックが本当に処理されているのか分かりませんでした)
私が考えることができる最後のソリューションは、新しいコントローラで両方のフォームを作成することですが、私はfosユーザーのログインチェックを手動で呼び出す方法を知らない(私はちょうどRegistrationControllerからすべてのregisterActionをコピーすることができる登録のため)。
お時間をいただきありがとうございます。