app \ Resources \ FOSUserBundle \ viewsにlayout.html.twigを配置して、FOSUserBundleのデフォルトレイアウトを上書きしました。FOSUserBundle同じページのログイン、登録、ForgotPassword
私も(、ログインなどの登録やパスワードのリセット)いくつかの他のテンプレートをオーバーライド対応するディレクトリに新しいファイルを配置することによっている:
app\Resources\FOSUserBundle\views\layout.html.twig
app\Resources\FOSUserBundle\views\Registration\register.html.twig
app\Resources\FOSUserBundle\views\Resetting\request.html.twig
app\Resources\FOSUserBundle\views\Security\login.html.twig
私はレジスタ-フォーム、ログイン・フォームをレンダリングしたいと思いますreset-password-formを同じページに追加します。そのために私は小枝は、コントローラのrenderメソッドを使用しています:
<div class="login" data-lbg="teal">
{{ render(controller('FOSUserBundle:Security:login')) }} // foo
{{ render(controller('FOSUserBundle:Registration:register')) }} // bar
{{ render(controller('FOSUserBundle:Resetting:request')) }} // baz
</div>
はしかし、これは単なる言葉「foo」を出力して、私のlayout.html.twigを拡張しません。だから、ちょうど空のページに "foo"という文字が書いてあります。
何か問題がありますか、何か間違っていますか?
ベスト クリスチャン
FOSUserBundleアクションは、スタンドアロンとして使用するためのもので、render(controller())関数には含まれません。あなたがこれを行うための唯一の方法は、必要な3つのフォームを作成し、テンプレート内のすべてのフォームを表示することです。各フォームの "アクション"を対応するバンドルのルートに設定する必要があります。 –
お返事ありがとうございます。私はあなたの提案に似てこれを解決することを決めた。ありがとう。 –