<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.47.51.150</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.47.51.150"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/91.47.51.150"/>
	<updated>2026-05-06T17:04:38Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TypoScript_-_Daten_auslesen&amp;diff=1605</id>
		<title>TypoScript - Daten auslesen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TypoScript_-_Daten_auslesen&amp;diff=1605"/>
		<updated>2009-02-06T09:37:40Z</updated>

		<summary type="html">&lt;p&gt;91.47.51.150: /* Weitere Möglichkeiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Manchmal möchte man schnell auf Daten zugreifen die in irgendwelchen Tabellen oder in den Arrays von Typo3 abgelegt sind. Z.B. ein einzelner Datensatz oder eine Globale Variable. Hier sind einige Tricks:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Detailierte Referenz in der TSRef unter stdWrap und dem Datentyp data (getData)&lt;br /&gt;
&lt;br /&gt;
== Feld aus der Tabelle pages auslesen ==&lt;br /&gt;
&lt;br /&gt;
Aus der Tabelle Pages (die Datensätze der aktuellen Seite)&lt;br /&gt;
 temp.meinText = TEXT&lt;br /&gt;
 temp.meinText.field = title&lt;br /&gt;
Hinweis: field ersetzt das .value das man sonst für Werte benutzt also nicht ...field.value = title&lt;br /&gt;
&lt;br /&gt;
Subtitle ausgeben wenn der nicht vorhanden dann title:&lt;br /&gt;
 ...&lt;br /&gt;
 temp.meinText.field = subtitle // title&lt;br /&gt;
Das // ist eine Art oder Bedingung die ausgeführt wird, wenn das erste Feld leer ist.&lt;br /&gt;
&lt;br /&gt;
== Flexible Datenbankabfragen mit data ==&lt;br /&gt;
Anstatt mit field kann man auch mit data arbeiten:&lt;br /&gt;
 temp.meinText.data = field:title&lt;br /&gt;
data kann aber auch flexibler arbeiten.:&lt;br /&gt;
 temp.meinText.data = DB:pages:1:title&lt;br /&gt;
 # hole mir aus der Tabelle pages vom Datensatz mit der uid=1 den Titel&lt;br /&gt;
Allgemein:&lt;br /&gt;
 .data = DB:[Tabelle]:[uid]:[Feld]&lt;br /&gt;
&lt;br /&gt;
== Ein Datum abfragen ==&lt;br /&gt;
 temp.Datum = TEXT&lt;br /&gt;
 temp.Datum.data = date : d.m.Y&lt;br /&gt;
Hierbei kann man die Formatierung hinter dem Doppelpunkt angeben (Syntax wie in PHP)&lt;br /&gt;
&lt;br /&gt;
== Zugriff auf GET und POST Variablen mit GPvar ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Im Browser wird eine GET Variable mitgegeben:&lt;br /&gt;
&lt;br /&gt;
 http://meineDomain.de/index.php?id=2&amp;amp;meineVariable=Hallo&lt;br /&gt;
&lt;br /&gt;
Im TypoScript wird sie ausgelesen, wenn keine Variable übergeben wurde soll ein Feld aus der Datenbank ausgelesen werden (oder Bedingung)&lt;br /&gt;
&lt;br /&gt;
 page.10.meinTextobjekt = GPvar : meineVariable // field : title&lt;br /&gt;
&lt;br /&gt;
== Variablen auslesen und speichern mit dem register array ==&lt;br /&gt;
das Register Array speichert sowohl allgemeine Typo3 Variablen wie die letzte Änderung eines Datensatzes, kann aber auch genutzt werden um innerhalb eines Objektes Daten zu speichern und wieder abzurufen.&lt;br /&gt;
&lt;br /&gt;
=== Speichern und auslesen mit Register ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
(Dies setzt &amp;quot;contentWidth&amp;quot;, &amp;quot;label&amp;quot; und &amp;quot;head&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 page.27 = LOAD_REGISTER&lt;br /&gt;
 page.27 {&lt;br /&gt;
  contentWidth = 500&lt;br /&gt;
  label.field = header&lt;br /&gt;
  head = ein Text&lt;br /&gt;
  head.wrap = &amp;lt;B&amp;gt; | &amp;lt;/B&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 temp.anything = COA&lt;br /&gt;
 temp.anything {&lt;br /&gt;
    1 = LOAD_REGISTER&lt;br /&gt;
    1.myVar = foo&lt;br /&gt;
    10 = TEXT&lt;br /&gt;
    10.data = register : myVar&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Abruf dieses Wertes in anderem Objekt &amp;#039;&amp;#039;&amp;#039;funktioniert nicht&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
 temp.something = COA&lt;br /&gt;
 temp.something {&lt;br /&gt;
    10=TEXT&lt;br /&gt;
    10.data=register:myVar&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Folgendes funktioniert selbstverständlich:&lt;br /&gt;
&lt;br /&gt;
 temp.somethingElse &amp;lt; temp.anything&lt;br /&gt;
 temp.somethingElse {&lt;br /&gt;
    10&amp;gt;&lt;br /&gt;
    10=TEXT&lt;br /&gt;
    10.value = Another value here.&lt;br /&gt;
    20=TEXT&lt;br /&gt;
    20.data=register:myVar&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Einen einzelnen Datensatz auslesen ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   subparts.HEADERIMAGE =RECORDS&lt;br /&gt;
&lt;br /&gt;
   subparts.HEADERIMAGE{&lt;br /&gt;
      tables = tt_content&lt;br /&gt;
      source=84&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
 #Schnellzugriff auf Variablen:&lt;br /&gt;
 {field:title}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #Bild aus einem Media Feld auslesen&lt;br /&gt;
 altImgResource.import = uploads/media/&lt;br /&gt;
 altImgResource.import.field = media&lt;br /&gt;
 altImgResource.import.listNum = 0&lt;br /&gt;
&lt;br /&gt;
== Wie speichert Typo3 Daten? ==&lt;br /&gt;
Im ersten Schritt enthält dieser Artikel erst einmal eine Lose Sammlung der Arrays etc. Später soll die Sammlung besser strukturiert werden.&lt;br /&gt;
&lt;br /&gt;
Wenn eine Seite gerendert wird, dann hält Typo3 für diese Seite in diversen Arrays die relevanten Daten vor. Z.B. die Seiten id (uid) etc. TypoScript Funktionen greifen sinnigerweise immer auf die Daten der aktuellen Seite zu. Beim Rendering von Menüs verhält sich das etwas anders. Hier ist es notwendig auch auf Daten von anderen Seiten zuzugreifen. Sonst kann ja das Menü nicht z.B. nicht richtig verlinkt werden.&lt;br /&gt;
&lt;br /&gt;
Hintergrund ist, daß normalerweise das Array $cObj-&amp;gt;data den Datensatz der aktuellen Seite enthält. Z.B. kann man mit:&lt;br /&gt;
&lt;br /&gt;
 page = PAGE&lt;br /&gt;
 page {&lt;br /&gt;
   10 = TEXT&lt;br /&gt;
   10.field = title&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Den Titel der aktuellen Seite auslesen.&lt;br /&gt;
&lt;br /&gt;
Beim Rendering eines Menüs enthält das Array $cObj-&amp;gt;data den Datensatz der Seite, deren Menüentrag gerade gerendert wird.&lt;br /&gt;
&lt;br /&gt;
 NO{&lt;br /&gt;
   stdWrap.field = title&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
gibt also den Titel der Seite aus, deren Menüpunkt gerade gerendert wird. Macht Sinn - oder?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== POST GET Daten an ein Script übergeben und dort nutzten ===&lt;br /&gt;
(Beispiel aus typo3.net Forum&lt;br /&gt;
&lt;br /&gt;
ich rufe meine Seite auf:&lt;br /&gt;
&lt;br /&gt;
index.php?id=20&amp;amp;person=9&lt;br /&gt;
&lt;br /&gt;
Ich habe auf die Seite ein PHP-Script eingebungen und rufe es dann über ein USER_INT objekt auf:&lt;br /&gt;
&lt;br /&gt;
 page.10.marks {&lt;br /&gt;
 DATEN = USER_INT&lt;br /&gt;
 DATEN.userFunc = user_functions-&amp;gt;formular&lt;br /&gt;
 DATEN.person = ?????????????????????&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
person ist ein Parameter, der im PHPScript später mit&lt;br /&gt;
 $conf[&amp;quot;person&amp;quot;]&lt;br /&gt;
zur Verfügung stehen soll!&lt;br /&gt;
&lt;br /&gt;
Wie übergebe ich nun der Funktion im PHP-Script den Wert aus der URL?&lt;br /&gt;
das data-Objekt steht mir ja hier nicht zur Verfügung!&lt;br /&gt;
&lt;br /&gt;
Oder wie kann ich den Wert im PHP direkt abfragen?&lt;br /&gt;
($HTTP_GET_VARS[&amp;quot;person&amp;quot;]&lt;br /&gt;
funktioniert nicht!)&lt;br /&gt;
&lt;br /&gt;
Verfasst am: 26.09.2005 [13:06]&lt;br /&gt;
 $persondata = t3lib_div::GPvar(&amp;quot;person&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.myPage{&lt;br /&gt;
 10 = TEXT&lt;br /&gt;
 10.wrap = Du bist auf Seite: |&lt;br /&gt;
 10.data  = TSFE : id&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.myEmail{&lt;br /&gt;
10 = TEXT&lt;br /&gt;
10.dataWrap = &amp;lt;div class=&amp;quot;logoutname&amp;quot;&amp;gt;({TSFE:fe_user|user|email})&amp;lt;/div&amp;gt; &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
aus : http://typo3-blog.net/blog/cookie-typoscript.html Zugriff 30.1.2009&lt;br /&gt;
&lt;br /&gt;
Cookies in TYPO3 per Typoscript anzeigen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   temp.mycookie = TEXT &lt;br /&gt;
   temp.mycookie.data = global : HTTP_COOKIE_VARS | mycookie&lt;br /&gt;
   temp.mycookie.ifEmpty = Cookie &amp;quot;mycookie&amp;quot; war nicht gesetzt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dieser Typoscript Code gibt den Inhalt des Cookies Namens &amp;quot;mycookie&amp;quot; aus, wenn dieser gesetzt war. Ansonsten gibt er den alternativen Text &amp;#039;Cookie &amp;quot;mycookie&amp;quot; war nicht gesetzt&amp;#039; aus.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Mit .data Attribut des Typoscript TEXT-Objekts GET- und POST Variablen anzeigen&lt;br /&gt;
&lt;br /&gt;
GET- und POST Variablen, z.B. aus Ergebnissen von Formulareingaben können ebenfalls über data angezeigt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   temp.mycookie = TEXT &lt;br /&gt;
   temp.mycookie.data = GPvar : formular&lt;br /&gt;
   temp.mycookie.ifEmpty = Formular wurde noch nicht abgesendet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Cookie zum Auswählen eines Datensatzes nutzen&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.main.15 = CONTENT&lt;br /&gt;
temp.main.15 {&lt;br /&gt;
  table = tt_address&lt;br /&gt;
  select {&lt;br /&gt;
    pidInList = 13&lt;br /&gt;
    where.stdWrap.cObject = TEXT &lt;br /&gt;
    where.stdWrap.cObject.data = global : HTTP_COOKIE_VARS | meine_adresse&lt;br /&gt;
    where.stdWrap.cObject.wrap = uid = |&lt;br /&gt;
  }&lt;br /&gt;
  renderObj = COA&lt;br /&gt;
  renderObj {&lt;br /&gt;
    10 = TEXT&lt;br /&gt;
    10.value = &amp;lt;h1&amp;gt;Adresse&amp;lt;/h1&amp;gt;&lt;br /&gt;
    20 = TEXT&lt;br /&gt;
    20.field = name&lt;br /&gt;
    20.wrap = &amp;lt;p&amp;gt;|&amp;lt;br/&amp;gt;&lt;br /&gt;
    30 = TEXT&lt;br /&gt;
    30.field = address&lt;br /&gt;
    30.wrap = |&amp;lt;br/&amp;gt;&lt;br /&gt;
    40 = TEXT&lt;br /&gt;
    40.field = zip&lt;br /&gt;
    40.noTrimWrap = || |&lt;br /&gt;
    50 = TEXT&lt;br /&gt;
    50.field = city&lt;br /&gt;
    50.wrap = |&amp;lt;/p&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
Mit dem RECORDS Objekt geht es aber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.jobLocation=COA&lt;br /&gt;
temp.jobLocation{&lt;br /&gt;
  wrap=:|&lt;br /&gt;
  10=RECORDS&lt;br /&gt;
  10 {&lt;br /&gt;
    # id des template-records&lt;br /&gt;
    source.data = GPvar: tx_gbjobmanager_pi1|showUid&lt;br /&gt;
    #source = 3&lt;br /&gt;
    source.insertData = 1&lt;br /&gt;
    tables = tx_gbjobmanager_offer&lt;br /&gt;
    conf.tx_gbjobmanager_offer = TEXT&lt;br /&gt;
    conf.tx_gbjobmanager_offer.field= jobtitle | city | region | country&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP Umgebungsvariablen auslesen ==&lt;br /&gt;
&lt;br /&gt;
Um auf einer Typo3-Seite PHP-Umgebungsvariablen einzubinden, kann folgender Code im SETUP-Feld eingetragen werden:&lt;br /&gt;
&lt;br /&gt;
 lib.browsersprache = TEXT&lt;br /&gt;
 lib.browsersprache.data = getenv : HTTP_ACCEPT_LANGUAGE&lt;br /&gt;
&lt;br /&gt;
Andere Umgebungsvariablen finden sich unter http://hoohoo.ncsa.uiuc.edu/cgi/env.html.&lt;/div&gt;</summary>
		<author><name>91.47.51.150</name></author>
	</entry>
</feed>