Anpassen-register FOSUserBundle mit Bootstrap
Ich ein Formular erstellen builder.php wie in der bootstrap-Dokumentation zum Aufbau meines login-Formular und meinem register Formular, so : http://bootstrap.braincrafted.com/base-css#forms
Aber Nächstes entdecke ich die FOSUserBundle und ich denke, es ist vielleicht eine gute Idee, es zu benutzen.
Das problem ist : ich kann nicht einfach die Wiederverwendung der erstellten Formulare vor.
Möchte ich die Verwendung von bootstrap anpassen FOSUser Vorlage.
Vor allem für die submit-buttons, die ich hinzufügen möchten für alle : class="btn primary großen"
Erstelle ich eine UserBundle überschreiben der FOSUserBundle.
Passe ich die Anmeldung.html-Code.Zweig in FOSUserBundle, indem Sie ein login.html-Code.Zweig in UserBundle/Ressources/Views/Security/login.html-Code.Zweig
Es ist einfach, denn es gibt nur eine Datei für das login-template.
Aber wie kann ich es für die Anmeldung einen Teil zum Beispiel ?
Gibt es zwei Dateien : registrieren.html-Code.Zweig und register_content.html-Code.Zweig
Also ich erstelle eine Registrierung in meinem Ordner UserBundle, und ich habe in diesen zwei Dateien.
Aber, was habe ich in so ändern Sie den Stil der submit-button ?
Im register.html-Code.Zweig lass ich :
{% extends "UserBundle::layout.html.twig" %}
{% block fos_user_content %}
{% include "UserBundle:Registration:register_content.html.twig" %}
{% endblock fos_user_content %}
Und in register_content.html-Code.Zweig :
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register">
{{ form_widget(form) }}
<div>
<input class="btn primary large" type="submit" value="{{ 'registration.submit'|trans({}, 'FOSUserBundle') }}" />
</div>
</form>
Aber es funktioniert nicht.
Denkst du es ist eine gute Lösung für die Verwendung dieses Bundles ?
https://github.com/CCETC/FOSUserBundle
Integriert es direkt in der ganzen form mit der bootstrap-Stil.
Aber wenn eines Tages möchte ich hinzufügen, dass ein Feld im Anmeldeformular (z.B. Geschlecht zum Beispiel), könnte ich es tun, in diesem bundle, wie mit dem original FOSUserBundle ?
Wissen, dass ich wollen, fügen Sie einige benutzerdefinierte Felder im Registrierungsformular aus, und passen Sie Formulare mit bootstrap, Frage ich mich, ob es eine gute Idee, FOSUserBundle oder ob es besser ist zu bauen, ein frisches, neues bundle von meinem eigenen zu verwalten, die Benutzer auf meiner website.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, fügen Sie benutzerdefinierte Felder in das register-Formular, müssen Sie das überschreiben der form :
https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_forms.md
Felder hinzufügen, um Ihre Benutzer-Entität und in der buildForm Methode, einfach fügen Sie Ihre benutzerdefinierte Felder
{{ form_widget(form) }}
zu zerlegen, für jedes Feld so :{{ form_widget(form.email) }}
Dies ist ein komplettes Beispiel wie ich es mache (boostrap-Modus :P, Sie können mit einfachen html-oder andere Bilder). Sie haben sich am Ende des Formulars, und Sie achten in der "{{ form_rest(form) }}" dies ist der code, wie symfony, ziehe de token
Antwort auf die Frage, in Ihrem Titel: Sie haben FOSUserBundle und Sie wollen Bootstrap-CSS-Formatvorlagen. Sie können Stil, alles selbst wie in Carlos Garcia ' s Antwort, oder weisen Sie ein Thema für die gesamte site in Symfony3.
Diese gilt der Zweig ist Thema bei https://github.com/symfony/symfony/blob/master/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig fügt eine
class="form-control"
zu allen text-Feldern, so Bootstrap-CSS-Stil, der unter anderen Sachen.Aber das Thema nur auf die Formatvorlagen
<button>
und nicht die<input type="submit"
dass FOSUserBundle scheint für einige Grund. So können Sie immer noch überschreiben müssen die FOSUserBundle register_content.html-Code.der Zweig und diebtn btn-lg btn-primary btn-block
Klasse manuell.modifie FOSUB layout-Datei "vendor/fos../resource/views/" (oder überschreiben) ex:
und die "JamBlogBundle:layout.html-Code.Zweig"
für die benutzerdefinierten Felder, Siehe die Antwort oben.
Wenn es helfen kann