7

私がやろうとしていることは難しいことではありません。これは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

しかし、エラーや成功は表示されません...

誰かが解決策を知っていますか?

4

1 に答える 1