Was ich versuche zu tun ist nichts schwer. Dies ist mein erstes Projekt auf Symfony und es ist wirklich verwirrend.FOSUserBundle Registrierung anpassen
Ich benutze FOSUSerbundle. Ich möchte keine Anmeldung und Registrierung unter /login
und /registration
Also habe ich ein Bündel, das Kind von FOSUSerbundle ist ... und es überschreibt seine Zweige.
Ich habe :: base.html.twig, wo ich header.html.twig und dort habe ich: {% render 'FOSUserBundle:Security:login' %}
, die mein teplate (übersteuerte die FOS ein) funktioniert gr8. Auch die Fehler nach dem Senden werden auf der :: basis Vorlage unter "/" wiedergegeben.
#Security.yml
form_login:
check_path: /login_check
login_path:/
provider: fos_userbundle
Funktioniert gut.
Und ich muss genau das gleiche für meine Registrierung tun.
So in ::base
I umfassen welcome_page.html.twig
wo ich Code {% render 'FOSUserBundle:Registration:register' %}
und da ich unter meiner rewrited Vorlage haben: WelcomePageBundle:Registration:register.html.twig
dies:
{% block fos_user_content %}
{% include "FOSUserBundle:Registration:register_content.html.twig" %}
{% endblock fos_user_content %}[/code]
, die auch von MY rewrited Bundle enthalten: WelcomePageBundle:Registration:register_content.html.twig
dies:
{% 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>
Alles funktioniert wie ein Zauber ... alle Dateien sind enthalten und angezeigt. Aber das Problem kommt jetzt.
Wenn ich Weg gehen /register
(die von FOS Bündel Basisroute ist)
<route id="fos_user_registration_register" pattern="/register">
<default key="_controller">FOSUserBundle:Registration:register</default>
</route>
... ausfüllen und klicken Sie auf Absenden ... es funktioniert. Die Fehler werden angezeigt oder Registrierung ist succes ..
Aber wenn ich Form von meiner Route /
einreichen, wo der Registrierungscontroller (gerendert ok) gemacht wird, dauert es meine auf dieser Strecke :/register
, die aufgrund dieser Pfad ein normales Verhalten:
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" id="register_form">
... diese Seite ist durch nichts nicht mit Fehlern so seine nur sauberen Form auf weiße Seite erweitert ... OK
Aber wie kann ich möglich diese Form macht die Arbeit mit Fehlern und Erfolg Anzeige oN MY :: Basisvorlage wie der Login? und gehen Sie nicht zu /register
Route? Ich habe versucht, /register
für /
ersetzen, die mich zu meiner ::base
Vorlage (wie im Login ich tun) bringen.
#security.yml
form_login:
check_path: /login_check
login_path:/
provider: fos_userbundle
Aber keiner der Fehler oder Erfolg angezeigt ...
Kennen jemand Lösung?
Haben Sie versucht, die Route fos_user_register zu ändern, die registration.xml aus dem Bundle enthält, und ihm (der Route) mit/anstelle von/register vorangestellt? Sieht aus, als hättest du gerade eine andere Route erstellt, die zum Register-Controller führt. –
Hast du das richtig funktioniert? Und war es Vadims Vorschlag, der das Problem für dich gelöst hat? – AMP