[Frage] $GLOBAL['TSFE']->fe_user->setKey() aber im TypoSript leer TYPO3-Version: 8.7.1

  • getit getit
    Jedi-Ritter
    0 x
    135 Beiträge
    3 Hilfreiche Beiträge
    19. 06. 2017, 21:53

    Ich habe über

    1. $GLOBAL['TSFE']->fe_user->setKey('ses', 'contrast', 'high');

    eine Sessionvariable geschrieben.
    Lasse ich diese zum Test ausgeben

    1. $GLOBAL['TSFE']->fe_user->getKey('ses', 'contrast');

    ausgeben, ist der Wert gesetzt.

    Lade ich die Seite neu ist der Wert noch vorhanden - korrekt.

    Versuche ich aber im TS (habe es sowohl im TS der Extension als auch der Seite probiert)

    1. lib.test = TEXT
    2. lib.test.data = TSFE:fe_user|sesData
    3. ....
    4. 10 {
    5. variables {
    6. test < lib.test
    7. }
    8. }

    Im Fluidtemplate mit

    1. {test -> f:debug()}

    ausgeben, ist dieses leer.

    Wieso?


  • 1
  • Norman2k Norman2k
    Jedi-General
    0 x
    1603 Beiträge
    70 Hilfreiche Beiträge
    20. 06. 2017, 09:22

    TSFE:fe_user|sesData dürfte ein Array sein, ich würde es mal so versuchen:

    1. lib.test = TEXT
    2. lib.test.data = TSFE:fe_user|sesData|contrast

    Außerdem würde ich ein COA_INT draus machen, damit es nicht gecached wird

  • getit getit
    Jedi-Ritter
    0 x
    135 Beiträge
    3 Hilfreiche Beiträge
    20. 06. 2017, 18:47

    TSFE:fe_user|sesData dürfte ein Array sein,

    ist schon klar.
    Aber f:debug() kann ja auch Arrays ausgeben.

    Habe es sowohl so

    1. lib.session = COA_INT
    2. lib.session {
    3. 10 = TEXT
    4. 10.data = TSFE:fe_user|sesData|contrast
    5. }

    als auch so
    1. lib.session = TEXT
    2. lib.session.data = TSFE:fe_user|sesData|contrast

    probiert.
    Beides leer - auch nach erneutem Laden der Seite.

  • karlchen karlchen
    Jedi-General
    0 x
    1422 Beiträge
    27 Hilfreiche Beiträge
    16. 01. 2018, 11:37

    Da ich gerade selbst über das Problem gestolpert bin und beim recherchieren diese Frage gefunden habe, hier vermutlich die Lösung, für alle noch kommenden ;)

    Das ganze gilt für TYPO3 8.7 und ist hier nachzulesen:
    https://docs.typo3.org/typo3cms/extensions/core/8.7/Changelog/8.7/Feature-80154-RetrieveSessionDataInTS.html

    es gibt nun ein neue Art die Session Daten mit TypoScript abzufragen:

    Aus:

    1. page.10 = TEXT
    2. page.10.data = TSFE:fe_user|sesData|myext|mydata

    wird nun

    1. page.10 = TEXT
    2. page.10.data = session:myext|mydata

  • 1