Ich möchte das Login-Formular von FOSUserBundle in meine Vorlage einfügen das:
%Vor%aber nicht, um die Vorlage darzustellen, die im Code von aufgerufen wurde loginAction () ursprünglich.
Ich dachte, ich würde die Möglichkeit, die Vorlage zu übergeben, nützlich finden Ich möchte in diesem Beispiel als Parameter als 'max' rendern:
%Vor%Ist das in symfony2 möglich? Wenn nicht ..
sollte ich eine andere Aktion für mein Bundle mit dem gleichen Code erstellen von loginAction? oder sollte ich den ursprünglichen loginAction-Code ändern und die Steuerung schreiben Strukturen?
%Vor%Sie können eine partielle erstellen, um Ihre einfache HTML-Form zu speichern, zum Beispiel diese einfache:
%Vor%Dann fügen Sie in Ihrem Layout einfach Ihren brandneuen Teil ein:)
Wenn Sie das csrf-Token benötigen (was dringend empfohlen wird), definieren Sie einfach den Provider als globale Twig-Variable:
%Vor%Fügen Sie dann einfach das versteckte Eingabefeld in Ihrem Formular hinzu:
%Vor%Da der Teil, der den Fehler enthält, hier nicht beantwortet wurde und ich mich in den FOSUserBundle-Code vertiefen musste, möchte ich auch zu diesem Post hinzufügen, wie die Fehlermeldungen zum Formular loginPartial.html.twig hinzugefügt werden:
Sehen Sie sich die Datei /vendor/friendsofsymfony/user-bundle/Controller/SecurityController.php
anDieser Controller verfügt über eine loginAction, die die Fehlervariable erstellt. Alles, was Sie in dem Controller tun müssen, den Sie verwenden, um den loginPartial-Zweig zu rendern, besteht darin, den folgenden Code zu diesem Controller hinzuzufügen.
%Vor%In diesem Fall verwenden Sie nur den gleichen Code in Ihrem Controller, um Login-Fehlermeldungen zu generieren, zB falsches Passwort usw.
Jetzt in den Zweig, der das Formular zeigt, füge folgendes hinzu: {% include 'YourDemoBundle: Sicherheit: loginPartial.html.twig'%}
Und in der Datei loginPartial.html.twig geben Sie Folgendes ein:
%Vor%Das sollte es tun
Tags und Links symfony