Symfony FOSUserBundle - Fügen Sie das Anmeldeformular in die Layoutvorlage ein

9

Wir haben den FOSUserBundle erfolgreich konfiguriert; Login, Registrierung, Passwort zurücksetzen, usw. funktionieren alle gut.

Nun möchten wir das Login-Formular in unser allgemeines Site-Layout integrieren, insbesondere das Formular in den oberen rechten Bereich des Layout-Headers einfügen. Dies wäre einfach genug, wenn wir nur mit den Feldern Benutzername und Passwort arbeiten würden. Wir können jedoch nicht herausfinden, wie das CSRF-Token abgerufen werden kann, das vom FOSUserBundle-Dienst generiert wird:

%Vor%

Ich habe versucht, das oben genannte innerhalb einer Twig-Erweiterung aufzurufen, die ansonsten gut funktioniert, aber anscheinend kann die Erweiterung den Container nicht richtig referenzieren.

Sicherlich gibt es eine einfache Möglichkeit, das FOSUserBundle CSRF-Token global zu erhalten?

Danke! Jason

    
Jason 05.06.2012, 18:50
quelle

2 Antworten

6

Sie können eine Funktion wie diese auf einem Ihrer Controller definieren

%Vor%

und dann einfach über

in dein Formular einbetten %Vor%

Sie müssen außerdem oben auf Ihrem Controller Folgendes einfügen:

%Vor%     
Daniel 06.06.2012, 06:47
quelle
35

Symfony 2.3:

Eine mögliche Lösung wäre, den csrf-Provider als globale Twig-Variable wie folgt zu definieren:

%Vor%

Und dann in deinem Layout rufe es so auf:

%Vor%

Sie müssen also keinen Controller aufrufen.

Symfony 2.4 und höher:

%Vor%

und:

%Vor%     
David Morales 21.06.2013 11:18
quelle

Tags und Links