メインページにログインフォームと登録フォームが表示されるシンプルなWebサイトを作成したいと思います。私はこれについて何時間も考えてきましたが、まだ迷っています。これが私の提案するデザインです。
{# Login form #}
<div>
{% render url('login_form') %}
</div>
<b>or</b>
{# Register form #}
<div>
{% render url('register_form') %}
</div>
メインページにログインフォームと登録フォームが表示されるシンプルなWebサイトを作成したいと思います。私はこれについて何時間も考えてきましたが、まだ迷っています。これが私の提案するデザインです。
{# Login form #}
<div>
{% render url('login_form') %}
</div>
<b>or</b>
{# Register form #}
<div>
{% render url('register_form') %}
</div>
FOS ユーザー バンドルは、そのままではそのような構造 (単一のテンプレートでのログインと登録) をサポートしていません。そのため、物事をシンプルに保ちたい場合は、両方のページを分離する必要があります。
この構造が強く必要な場合は、対応するコントローラーを FOS ユーザー バンドルから拡張し、出力レンダリングに同じテンプレートを使用するようにする必要があります。
symfony 2.8 を使用して、同じページ (ルート /login) にログインして登録しようとしましたが、これが私にとってどのように機能するかです:
friendsofsymfony/user-bundle/Controller/SecurityController.php の最初の簡単な編集
関数loginActionの一番下で、returnの前にこれを追加します:
$formFactory = $this->get('fos_user.registration.form.factory');
$form = $formFactory->createForm();
次に、登録フォームビューを返品に追加して、次のようにします。
return $this->renderLogin(array(
'last_username' => $lastUsername,
'error' => $error,
'csrf_token' => $csrfToken,
'register_form' => $form->createView()
));
次に、login.html.twig で、必要な場所に配置します。
{{ form_rest(register_form) }}