我想做的事情并不难。这是我在 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">
...这个网站没有任何扩展,所以它只是在白页上有错误的干净形式...好的
但是我怎样才能使这个表单在我的 ::base 模板上显示错误和成功,比如登录?并且不去/register
路线?我尝试替换/register
它/
,将我带到我的::base
模板(就像我在登录时所做的那样)。
#security.yml
form_login:
check_path: /login_check
login_path: /
provider: fos_userbundle
但是没有显示任何错误或成功...
有谁知道解决方案?