FOSUserBundle: Einbetten des Anmeldeformulars und Auswählen der Vorlage

8

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%     
ziiweb 07.11.2011, 17:53
quelle

4 Antworten

33

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%     
David Morales 21.06.2013, 11:23
quelle
10

Sie müssen angeben, dass Sie einen Controller aufrufen

%Vor%     
Tom Toms 15.10.2013 01:06
quelle
1

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

an

Dieser 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

    
Tragaknight 14.01.2015 12:59
quelle
0

ist ein einzelner "Doppelpunkt" zwischen jedem Teil

%Vor%     
ejosvp 25.02.2012 00:11
quelle

Tags und Links