Zum Inhalt springen

mit condition prüfen, ob Array gefüllt bzw. gesetzt ist

Erstellt am 8. Oktober 2009 · 2 Antworten · letzte Antwort am 14. Oktober 2009

Tags: Frage

kukuwa04 ·

Hallo zusammen,
ich habe folgendes syntaktisches Problem mit der Behandlung von Arrays in TypoScript:

Über eine extension speichere ich zunächst mal Session-Daten, wenn ein Besucher auf "Merken" klickt (vom Prinzip her so wie die Funktion "Diesen Artikel merken" in einem shop):

$merke = array('eintrag'=>array('12345'=>1));
$GLOBALS['TSFE']->fe_user->record_registration($merke);

Jetzt zu meiner Frage:
Wie prüfe ich im TypoScript mit einer condition, ob Einträge in den Session-Daten gespeichert wurden bzw. genauer gesagt, ob der Array 'eintrag' in den Sessiondaten gefüllt ist?
Mit PHP würde ich das ja so programmieren:
if (isset($GLOBALS['TSFE']->fe_user->sesData['recs']['eintrag']))
bzw.
if (count($GLOBALS['TSFE']->fe_user->sesData['recs']['eintrag']) > 0)

Ich will nun aber im Setup schon abfragen, ob Einträge gemerkt wurden, um nur dann den Menüeintrag 'Merkliste' anzuzeigen, sprich ich brauch eine Condition, die das prüft.
Die Sessiondaten kann ich doch wie folgt auslesen, oder?

TSFE:fe_user|sesData|recs|eintrag

Und wie sähe dann die condition aus, um zu prüfen, ob obiger Array gesetzt bzw. nicht leer ist? Oder geht das nur mit Hilfe einer user function (was ich eigentlich vermeiden will)?

Danke für Eure Hilfe!