Quello che sto cercando di fare è niente di difficile. Questo è il mio primo progetto su symfony ed è davvero confuso.Registrazione FOSUserBundle personalizza
Sto usando FOSUSerbundle. Non voglio avere un login e una registrazione sotto /login
e /registration
Così ho creato un pacchetto che è figlio di FOSUSerbundle ... e sovrascrive i suoi ramoscelli.
Ho :: base.html.twig dove includo header.html.twig e lì ho: {% render 'FOSUserBundle:Security:login' %}
che esegue il rendering della mia targhetta (sovrascritta quella FOS) funziona gr8. Anche gli errori dopo la submission sono il rendering sul muggito modello :: base "/".
#Security.yml
form_login:
check_path: /login_check
login_path:/
provider: fos_userbundle
Funziona alla grande.
E ho bisogno di fare esattamente lo stesso per la mia registrazione.
Quindi, in ::base
ho includono welcome_page.html.twig
in cui il codice mi {% render 'FOSUserBundle:Registration:register' %}
e ci ho sotto il mio modello riscritto: WelcomePageBundle:Registration:register.html.twig
questo:
{% block fos_user_content %}
{% include "FOSUserBundle:Registration:register_content.html.twig" %}
{% endblock fos_user_content %}[/code]
che comprendono anche dal mio fagotto riscritto: WelcomePageBundle:Registration:register_content.html.twig
questo:
{% 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>
Tutto funziona come un incantesimo ... tutti i file sono inclusi e visualizzati in anteprima. Ma il problema arriva ora.
Quando vado al percorso /register
(che è percorso base da FOS fascio)
<route id="fos_user_registration_register" pattern="/register">
<default key="_controller">FOSUserBundle:Registration:register</default>
</route>
... compilare i dati e fare clic su Invia ... funziona. Gli errori vengono visualizzati o di registrazione è successo ..
Ma quando presento forma dal mio percorso /
in cui il controller di registrazione è reso (reso ok) ci vuole il mio a questo percorso :/register
che è un comportamento normale, perché questo percorso:
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" id="register_form">
... questo sito non è prorogato di nulla di più la sua forma solo pulito sulla pagina bianca con errori ... OK
Ma come posso possibile lavoro rendono questo modulo con errori visualizzazione e il successo sul mio :: modello base come il login? e non andare al percorso /register
? Ho provato a sostituire /register
per /
che mi porta al mio modello ::base
(come nel login che faccio).
#security.yml
form_login:
check_path: /login_check
login_path:/
provider: fos_userbundle
Ma vengono visualizzati nessuno degli errori o successo ...
Do Qualcuno sa soluzione?
Hai provato a cambiare fos_user_register route che include registration.xml dal bundle e prefisso (il percorso) con/invece di/register? Sembra che tu abbia appena creato un'altra rotta che indirizza al controller del registro. –
Hai funzionato correttamente? E fu il suggerimento di Vadim a risolvere il problema per te? – AMP