私がやろうとしていることは難しいことではありません。これはsymfonyに関する私の最初のプロジェクトであり、本当に混乱を招きます。
FOSUSerbundleを使用しています。私は以下のログインと登録をしたくありませ/login
ん/registration
そこで、FOSUSerbundleの子であるバンドルを作成しました...そしてそれはその小枝をオーバーライドします。
:: base.html.twigがあり、header.html.twigが含まれています。{% render 'FOSUserBundle:Security:login' %}
これにより、teplate(FOSのものをオーバーライド)がgr8で動作するようになります。送信後のエラーでさえ、「/」ルートの下の::baseテンプレートでレンダリングされています。
#Security.yml
form_login:
check_path: /login_check
login_path: /
provider: fos_userbundle
よく働く。
そして、私は私の登録のためにまったく同じことをする必要があります。
だから::base
私はwelcome_page.html.twig
私がコーディングする場所を含め、{% render 'FOSUserBundle:Registration:register' %}
そこに私は書き直したテンプレートの下にあります:WelcomePageBundle:Registration:register.html.twig
これ:
{% block fos_user_content %}
{% include "FOSUserBundle:Registration:register_content.html.twig" %}
{% endblock fos_user_content %}[/code]
これには、私の書き直したバンドルからも含まれています:WelcomePageBundle:Registration:register_content.html.twig
これ:
{% for key, message in app.session.getFlashes() %}
<div class="{{ key }}">
{{ message|trans({}, 'FOSUserBundle') }}
</div>
{% endfor %}
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" id="register_form">
{{ form_widget(form) }}
{{ form_rest(form) }}
<input type="submit" class="registration_submit" value="{{ 'welcome_page.registration_box.register_submit'|trans }}"/>
</form>
<div class="v_pripade">
{{ 'welcome_page.registration_box.with_reg_problems'|trans }}
<span style='color: #fff568'>{{ 'welcome_page.registration_box.with_reg_problems_part2'|trans }}</span>
</div>
すべてが魅力のように機能します...すべてのファイルが含まれ、表示されます。しかし、問題は今やってきます。
ルートに行くとき/register
(FOSバンドルからの基本ルートです)
<route id="fos_user_registration_register" pattern="/register">
<default key="_controller">FOSUserBundle:Registration:register</default>
</route>
...データを入力して[送信]をクリックします...機能します。エラーが表示されるか、登録が成功します。
しかし/
、登録コントローラーがレンダリングされた(正常にレンダリングされた)ルートからフォームを送信すると、このルートに移動します:/register
。これは、次のパスのため、通常の動作です。
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" id="register_form">
...このサイトは何も拡張されていないので、エラーのある白いページのきれいなフォームです... OK
しかし、ログインのようなMY :: baseテンプレートにエラーと成功を表示して、このフォームを機能させるにはどうすればよいですか?と/register
ルートに行きませんか?私は自分のテンプレートに私を連れて来る交換を試みまし/register
た(私がするログインのように)。/
::base
#security.yml
form_login:
check_path: /login_check
login_path: /
provider: fos_userbundle
しかし、エラーや成功は表示されません...
誰かが解決策を知っていますか?