Cookies, POST und GET Variablen per Typoscript ausgeben

Cookies in Typoscript - Foto: Bernd Boscolo, aboutpixel.de
Der data Parameter des TEXT-Objekts in TYPO3 ist vielseitig und zum Teil wenig bekannt. Unter anderem kann man mit Hilfe des data Parameters auch in TYPO3 Cookies per Typoscript anzeigen. Aber auch zum Anzeigen von GET- und POST Parametern und zur Anzeige von weiteren Server-Variablen wie z.B. der IP Adresse des Besuchers lässt sich der data Parameter des TEXT.Objekts in Typoscript nutzen.
Typoscript Referenz zum Thema Datatyp
Weitere Informationen - leider nur auf Englisch - über die Möglichkeiten des .data Attributes finden sich auch hier:
Typoscript Datatype reference
Cookies in TYPO3 per Typoscript anzeigen
temp.mycookie = TEXT temp.mycookie.data = global : HTTP_COOKIE_VARS | mycookie temp.mycookie.ifEmpty = Cookie "mycookie" war nicht gesetzt
Dieser Typoscript Code gibt den Inhalt des Cookies Namens “mycookie” aus, wenn dieser gesetzt war. Ansonsten gibt er den alternativen Text ‘Cookie “mycookie” war nicht gesetzt’ aus.
Mit .data Attribut des Typoscript TEXT-Objekts GET- und POST Variablen anzeigen
GET- und POST Variablen, z.B. aus Ergebnissen von Formulareingaben können ebenfalls über data angezeigt werden:
temp.mycookie = TEXT temp.mycookie.data = GPvar : formular temp.mycookie.ifEmpty = Formular wurde noch nicht abgesendet
GPvar unterscheidet leider nicht zwischen POST- und GET Variablen was bei standardmäßig vorhandenen GET-Variablen (z.B. id und type) zu Verwirrungen führen kann. Deshalb sollte man solche Benennungen vermeiden.
Cookie zum Auswählen eines Datensatzes nutzen
Wenn der Cookie nun Beispielsweise nicht einen auszugebenden Text sondern die ID eines Datensatzes (zum Beispiel aus tt_address) enthielt, kann man den Cookie wie folgt zu einer Datenbankabfrage per Typoscript nutzen:
temp.main.15 = CONTENT
temp.main.15 {
table = tt_address
select {
pidInList = 13
where.stdWrap.cObject = TEXT
where.stdWrap.cObject.data = global : HTTP_COOKIE_VARS | meine_adresse
where.stdWrap.cObject.wrap = uid = |
}
renderObj = COA
renderObj {
10 = TEXT
10.value = <h1>Adresse</h1>
20 = TEXT
20.field = name
20.wrap = <p>|<br/>
30 = TEXT
30.field = address
30.wrap = |<br/>
40 = TEXT
40.field = zip
40.noTrimWrap = || |
50 = TEXT
50.field = city
50.wrap = |</p>
}
}
Achtung, CONTENT zeigt nur Inhalte von Datensätze an, die auf einer Seite liegen, die TYPO3 anzeigen würde. Datensätze, deren pid auf SYSORDNER, versteckte, gelöschte oder ähnliche nicht-anzeigbaren Seiten liegen werden vom Typoscript Objekt CONTENT nicht angezeigt!
Content Object, Content TYPO3, Cookie, COOKIE auslesen TYPO3, Cookie in TYPO3, data global, data GPvar, Datensatz anzeigen, GET auslesen TYPO3, HTTP COOKIE VARS, POST auslesen TYPO3, POST TYPO3, POST Typoscript, select TYPO3, Typoscript, Typoscript Cookie




