2012-03-30 11 views
1

Fragen Sie sich nur, ob Symfony2 ein Äquivalent zu before_filter von Rails hat? Ich möchte das Layout meiner Anwendung basierend auf dem Typ des Benutzers, der es anzeigt, ändern. Danke vielmals.Symfony2 Äquivalent von before_filter?

EDIT: Ich sollte meine Frage klären. Ich möchte das Layout meiner Anwendung basierend auf einem URL-Parameter ändern. Das Äquivalent von before_filter muss also letztendlich dazu führen, dass jede vom Controller gerenderte Vorlage von einer anderen Basisvorlage basierend auf diesem URL-Parameter erbt. Ich sollte hinzufügen, dass ich bereits mehr als 50 Controller-Aktionen habe, die Vorlagen rendern, also sollte die Lösung idealerweise etwas sein, das anwendungsweit einfach zu aktivieren ist, ohne dass jede Controller-Aktion bearbeitet werden muss.

Antwort

0

Ich weiß nicht, diese Funktion aber Sie können {% if is_granted('ROLE_XXX') %} in Zweig Vorlagen oder $this->get('security.context')->isGranted('ROLE_ADMIN') im Controller

Sie finden weitere Informationen in http://symfony.com/doc/current/book/security.html finden versuchen.

Hoffe, das hilft.

0

Enge ähnliche würde kernel.view Event-Listener erstellen. Sie können auch LiipThemeBundle ansehen, um das Layout im laufenden Betrieb zu ändern.

+0

"Dieses Ereignis wird nur aufgerufen, wenn der Controller kein Response-Objekt zurückgibt. Der Zweck des Ereignisses besteht darin, einen anderen Rückgabewert in eine Response zu konvertieren." Ich bin mir nicht sicher, ob ich das will. Ich möchte meine Vorlage nicht in ein Response-Objekt konvertieren. Ich möchte lediglich eine andere Basisvorlage basierend auf einem URL-Parameter rendern. – user1045879