Zum Inhalt springen

Session Handling in FLOW3

Erstellt am 19. Mai 2014 · 2 Antworten · letzte Antwort am 11. Juli 2014

Tags: Frage

0meridian ·

Hallo zusammen,

ich beschäftige mich jetzt seit ein paar Tagen mit FLOW3 und komme ganz gut voran, habe mich etwas eingelebt.

Was ich aber nicht begreifen mag und auch keine aufschlußreiche Dokumentation zu finde ist, wie man innerhalb FLOW3 mit Sessions arbeiten kann. Ich habe eigentlich nur vor, einen kleinen Login-Bereich zu gestalten und den Benutzer, je nachdem, ob er eingeloggt ist oder nicht, ein anderes Menü anzeigen.

Ich habe eine Klasse mit dem Scope "session" gestaltet und kann auch eine Session starten, indem ich die Klasse per Injection instanziiere. Soweit so gut. Nur, ich komme noch nicht ganz auf den Plan, wie ich so ganz grundsätzliche Dinge realisiere wie eine Condition für die Templates zu erzeugen, in denen ich prüfe, ob eine Session aktiv ist oder nicht.

Ich finde leider keine richtig vollständige Dokumentation.
Das hier war mal ein Anfang, geht aber nicht ins Detail:
http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/SessionHandling.html

Was ich noch so beim Googlen gefunden habe, ist das hier:
https://github.com/danielpoe/FLOW3/blob/master/Classes/Session/PhpSession.php
Aber zu dem Source leider keine Doku. Kann mir jemand auf die Sprünge helfen? Bin ja über jeden Link, jede Info dankbar. :-)

Grüße aus der Hauptstadt!

0meridian ·

Bin ich zu doof und sowas will keiner beantworten oder stehe ich nicht allein da mit meinem Problem? ;-)

morlock ·

Hallo Omeridan!

Wenn ich deine Anforderung richtig verstehe, benötigst du dafür gar keine eigenen Session-Objekte. Was du willst könntest du über Security-Viewhelper (für deinen Fall genauer: f:security.ifAuthenticated) lösen. Siehe dazu auch hier:
http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartV/FluidViewHelperReference.html#f-security-ifauthenticated

Für "komplexere" Abfragen, die auf Daten basieren, die du in deinem Session-Objekt hast, müsstest du (man korrigiere mich, wenn ich mich irre) immer das Objekt dem View zuweisen, damit die Daten zur Verfügung stehen. Das müsste dann in jeder betroffenen Action jedes Controllers gemacht werden. Ob es eine Möglichkeit gibt das zentral für alle Controller und Actions zu machen kann ich leider nicht sagen.

Viele Grüße,
Christian