====== Datentypen in TYPO3 ====== ===== align ===== Gibt die Ausrichtung eines HTML-Elements an. Mögliche Werte sind ''right'', ''left'', ''center'' und ''justify''. 10.wrapAlign = center ---- ===== boolean ===== Gibt **wahr** oder **falsch** an, wird zur Aktivierung oder Deaktivierung von Funktionen etc. verwendet. Aktiviert wird mit ''1'' oder einem beliebigen String, deaktiviert mit ''0'' oder einem leeren Wert. Daher würde der String //false// zur Aktivierung führen! Es ist dringend anzuraten, die Werte //0/1// zu verwenden. # Wahr: stripHtml = 1 stripHtml = true stripHtml = false stripHtml = qwertz # Falsch: stripHtml = 0 stripHtml = ---- ===== case ===== Dieser Datentyp wird nur im Zusammenhang mit der stdWrap-Funktion [[typo3:about:functions:stdwrap#case|case]] verwendet und verändert die Groß-/Kleinschreibung von Strings. __Mögliche Schlüsselwörter:__\\ ''upper'' -> Ändert den gesamten String in Großbuchstaben.\\ ''lower'' -> Ändert den gesamten String in Kleinbuchstaben.\\ ''capitalize'' -> Schreibt den ersten Buchstaben __jedes__ Wortes groß. ab TYPO3 4.6\\ ''ucfirst'' -> Schreibt den ersten Buchstaben des Strings groß. ab TYPO3 4.6 \\ ''lcfirst'' -> Schreibt den ersten Buchstaben des Strings klein. ab TYPO3 4.6 \\ ''uppercamelcase'' -> Schreibt einen Wert mit Unterstrichen in UpperCamelCase. ab TYPO3 7.3 \\ ''lowercamelcase'' -> Schreibt einen Wert mit Unterstrichen in lowerCamelCase. ab TYPO3 7.3 \\ 10 = TEXT 10.value = Hello World! 10.case = upper # Ausgabe: HELLO WORLD! 10 = TEXT 10 { value = hallo_schoene_welt case = uppercamelcase } # Ausgabe: HalloSchoeneWelt ---- ===== date-conf ===== Wandelt einen Unix-Timestamp (Sekunden seit 1.9.1970) in eine Zeitangabe um. Buchstaben, die nicht mit der Funktion umgewandelt werden sollen, müssen mit einem Backslash maskiert werden. Alle verfügbaren Parameter sind identisch mit der PHP-Funktion [[http://php.net/manual/de/function.date.php|date()]]. 10.date = d.m.Y 20.date = \E\s \i\s\t H:i \U\h\r. ---- ===== degree ===== ---- ===== dir ===== Dieser Datentyp wird nur im Zusammenhang mit der stdWrap-Funktion [[typo3:about:functions:stdwrap#filelist|filelink]] verwendet, wo eine genaue Beschreibung der Parameter zu finden ist. 10.filelist = fileadmin/images/|png,jpg|name||0 ---- ===== function name ===== ---- ===== getText ===== Mit **getText** können während des Seitenaufbaus dynamisch Inhalte aus Datenbanken, Register, GET/POST-Parametern etc. ausgelesen werden. Der Datentyp getText wird durch die stdWrap-Eigenschaften [[typo3:about:functions:stdwrap#data]], [[typo3:about:functions:stdwrap#datawrap|dataWrap]] und [[typo3:about:functions:stdwrap#insertdata|insertData]] verwendet. ==== Syntax ==== Aufgebaut ist eine getText-Abfrage wie folgt:\\ **[Typ] : [Parameter] [optionaler Parameter]**\\ Dem Typ folgt ein Doppelpunkt, anschließend werden ein oder mehrere Parameter gesetzt. Diese Parameter werden abhängig vom gewählten Typ mit weiteren Doppelpunkten, Pipe-Symbolen oder Kommas getrennt. So wird bei multidimensionalen Arrays (z.B. TSFE) das Pipe-Symbol verwendet, bei einer Datenbankabfrage kommen Doppelpunkte zum Einsatz. Was in den einzelnen Fällen anzuwenden ist, steht in der Typ-Tabelle.\\ Der Typ kann groß oder klein geschrieben werden. Vor und nach den Doppelpunkten __können__ Leerzeichen gesetzt werden, dies ist egal. Die folgenden Typoscripts geben alle dasselbe Ergebnis aus: //

Sie sind auf Seite: Seitentitel

//.\\ **Bitte beachten:** Da bei ''insertData'' und ''dataWrap'' mehrere getText-Abfragen erfolgen können und auch mit normalem Text gemischt werden können, werden Typ und Parameter in geschweifte Klammern geschrieben. 10 = TEXT 10.data = field:title 10.noTrimWrap = |

Sie sind auf Seite: |

| 20 = TEXT 20.value = Sie sind auf Seite: {field:title} 20.insertData = 1 20.wrap =

|

30 = TEXT 30.value = Sie sind auf Seite:  30.dataWrap =

| {field:title}

Mehrere getText-Abfragen können durch zwei Slashes ''%%//%%'' getrennt werden. TYPO3 verwendet den ersten Wert, der nicht leer oder Null ist. 10 = TEXT 10.data = field:nav_title // field:title # Auch innerhalb der geschwungenen Klammern bei 'dataWrap' und 'insertData' möglich: 20 = TEXT 20.value = Sie sind auf Seite: 20.dataWrap = | {field:nav_title // field:title} ''dataWrap'' und ''insertData'' können auch **kombiniert** werden, um z.B. eine ID dynamisch in den dataWrap einzufügen: 10 = TEXT 10.dataWrap = DB:pages:{TSFE:id}:title 10.wrap3 = {|} 10.insertData = 1 **Erklärung:** Dies ist jetzt nur ein umständlicher Weg, den Seitentitel der aktuellen Seite auszugeben. Damit lassen sich allerdings auch sinnvollere Anforderungen umsetzen.\\ Die Reihenfolge von stdWrap ist hier entscheidend: * Zuerst wird ''dataWrap'' ausgeführt, wodurch //{TSFE:id}// durch die aktuelle Seiten-ID ersetzt wird: //DB:pages:17:title// * Dann folgt ''wrap3'', der die geschwungenen Klammern zum neu geschaffenen Wert hinzufügt: //{DB:pages:17:title}// * Schließlich sorgt ''insertData'' dafür, dass der Wert erneut geparst und die getText-Abfrage durch den aktuellen Seitentitel ersetzt wird. Es ist nicht möglich, diese Vorgehensweise zu verschachteln. ==== getText-Typen ==== ^Typ^Beschreibung^ ^field|Mit //field// kann ein Datenbankfeld aus der aktuellen Tabelle ausgegeben werden.\\ __Genauer__: Es wird auf ein Feld des aktuellen //$cObj-%%>%%data//-Arrays des cObjects zugegriffen. \\ **Im Normalfall** ist dies //$GLOBALS['TSFE']-%%>%%page//, was der aktuellen Seite entspricht.\\ Unter **TMENU**: Das Array entspricht dem Datensatz des Menüitems, also der verlinkten Seite.\\ Unter **CONTENT/RECORDS**: Das Array entspricht dem tatsächlichen Datensatz, z.B. //tt_content//. \\ Unter **GIFBUILDER**: Das Array entspricht den Daten, die den GIFBUILDER versorgen. 10 = TEXT 10.field = title 20 = TEXT 20.data = field:title | ^parameters| | ^register|Lädt Inhalte aus dem Register. Diese können vorher selbst mit [[typo3:about:cobject#load_register|LOAD_REGISTER]] definiert werden, oder es werden interne Register gewählt (z.B. //count_menuItems//). Der Parameter ist hierbei der Wert aus dem Array //%%$GLOBALS['TSFE']->register%%//. 10 = LOAD_REGISTER 10.roteFarbe = color:red; 20 = TEXT 20.value = Inhalt 20.dataWrap =

|

# Ausgabe:

Inhalt

| ^leveltitle, leveluid, levelmedia|Geben Werte entlang der [[typo3:about:rootline|rootLine]] aus.\\ **leveltitle** -> Ermittelt den Seitentitel\\ **leveluid** -> Ermittelt die UID einer Seite\\ **levelmedia** -> Gibt den Inhalt des //media//-Feldes aus.\\ Sinnvolle Ergänzung bei levelmedia kann der Parameter ''slide'' sein, der nach einem Komma notiert wird: Damit wird nach Inhalt auf weiteren Seiten entlang der rootLine gesucht, wenn auf der vor dem Komma notierten Ebene nichts gefunden wurde. 10 = TEXT 10.data = levelmedia : -1, slide 10.listNum = 0 # Ausgabe des ersten Bildes, das in einem 'media'-Feld bis zur root gefunden wird | ^levelfield|Gibt Werte aus wählbarem DB-Feld entlang der [[typo3:about:rootline|rootLine]] aus. Mit einem zweiten Parameter gibt man das gewünschte Feld an. ''slide'' als dritter Parameter ist ebenfalls möglich.\\ __Achtung:__ Per default sind nicht alle Datenbankfelder der Tabelle //pages// für die rootLine aktiviert. Wer weitere Felder auf diesem Wege auslesen möchte, muss diese im //Install Tool// unter ''[addRootLineFields]'' hinzufügen. 10 = TEXT 10.data = levelfield : -1, description, slide # Ausgabe der ersten Meta-Beschreibung, die bis zur root gefunden wird | ^date|Ermöglicht die Ausgabe von aktuellen Zeitangaben. Aktuell bedeutet __zum Zeitpunkt des Seitenaufbaus__; Uhrzeit etc. würden nicht aktualisiert werden, bis die Seite neu geladen wird. Nutzt die PHP-Funktion [[http://php.net/manual/de/function.date.php|date()]]. 10 = TEXT 10.data = date:d.m.Y # Ausgabe: 01.03.2014 | ^page|Liest ein //pages//-Feld auf der aktuellen Seite aus.\\ **Besonderheit:** Das Array //%%cObj->data%%// stellt Datensätze immer abhängig vom Umfeld bereit. Werden Inhalte aus der Tabelle //tt_content// ausgegeben, bietet das Array diese Felder an. ''field:uid'' würde nun die UID des Inhaltselements ausgeben. Mit ''pages:uid'' kann man stattdessen die UID der aktuellen Seite ausgeben. 10 = CONTENT 10 { table = tt_content renderObj = COA renderObj { 10 = TEXT 10.dataWrap =

Seite: {page:uid} - Inhalt: {field:uid}

20 = TEXT 20.dataWrap =

{field:header}

} } # Ausgabe:

Seite: 17 - Inhalt: 24

Überschrift Inhaltselement

| ^current|Gibt den aktuellen Wert der Variable //%%$this->data[$this->currentValKey]%%// aus. Die Funktion ist damit identisch mit ''current = 1''. Welcher Parameter verwendet wird ist egal, es muss einfach etwas dem Doppelpunkt folgen. data = current:1 | ^level|Gibt das rootLine-Level (Ebene) der aktuellen Seite als Zahl aus. Welcher Parameter verwendet wird ist egal, es muss einfach etwas dem Doppelpunkt folgen. 10 = TEXT 10.data = level:1 | ^GP|Kann GET/POST-Parameter auslesen. GET-Parameter werden in der URL übermittelt, POST-Parameter von TYPO3 versteckt in einem Array gespeichert. # URL: http://www.example.org/index.php?id=17 10 = TEXT 10.data = GP:id # Ausgabe: 17 # URL: http://www.example.org/index.php?id=17&tx_ttnews[tt_news]=2 20 = TEXT 20.data = GP:tx_ttnews|tt_news # Ausgabe: 2 | ^getenv|Gibt Umgebungsvariablen aus. Entspricht der gleichnamigen PHP-Funktion. //getIndpEnv// sollte bevorzugt verwendet werden, da diese systemunabhängig funktionieren.| ^getIndpEnv|Gibt Umgebungsvariablen aus, z.B. Informationen über Server und Domain. Dieser Typ ruft eine TYPO3-interne Funktion auf, welche die gewünschten Variablen unabhängig vom verwendeten System mit Werten versorgt.\\ [[typo3:about:umgebungsvariablen|Folgende Variablen stehen zur Verfügung.]] 10 = TEXT 10.data = getIndpEnv:HTTP_USER_AGENT | ^TSFE|Liest Werte aus dem multidimensionalen Array //$GLOBALS['TSFE']// aus. 10 = TEXT 10.data = TSFE:fe_user|user|username # Ausgabe: Namen des aktuell eingeloggten FE-Benutzers 20 = TEXT 20.data = TSFE:id # Ausgabe: Aktuelle Seiten-ID | ^DB|Gibt Werte aus einem Datenbankfeld aus. Der Pfad zum Feld wird mit Doppelpunkten getrennt: ''DB:[Tabelle]:[UID]:[Feld]''. 10 = TEXT 10.data = DB:tt_content:28:header | ^file| | ^fullRootLine|Gibt Felder aus der Tabelle //pages// aus. Abhängig von den Parametern ist es möglich, entlang der rootLine nach Inhalten zu suchen.\\ Positive Werte zählen wie üblich von der root-Seite bis zur aktuell gewählten Seite. ''0'' steht für die root-Seite selbst. **Aber:** Negative Werte greifen auf Ebenen __oberhalb der root-Seite__ zu, was nur Sinn macht, wenn in der rootLine mehr als eine Seite mit root-Template liegt.\\ **Achtung:** Die Ausgabe des Wertes ist nur bedingt abhängig von der aktuellen Seite! Basis ist immer die aktive root-Seite! # Aktive Ebene: Ebene4 bis Ebene6 Ebene: root(0) Ebene1 Ebene2 Ebene3 Ebene4 Ebene5 Ebene6 TS-Template: ja ja Wert: -4 -3 -2 -1 0 1 2 # Aktive Ebene: Ebene1 bis Ebene3 Ebene: root(0) Ebene1 Ebene2 Ebene3 Ebene4 Ebene5 Ebene6 TS-Template: ja ja Wert: 0 1 2 3 Selbstverständlich wird das folgende TypoScript immer nur auf die Seiten des gewählten TypoScript-Templates angewendet. Würde es im Beispiel nur auf Ebene4 eingetragen, würde auf den oberen Seiten nichts ausgegeben: Dort gilt das TypoScript-Template der root-Seite. 10 = TEXT 10.data = fullRootLine:3, nav_title, slide | ^LLL|Mit //LLL// kann auf Label zugegriffen werden, die in einer Sprachdatei (xml, xlf oder php) hinterlegt sind. Die Ausgabe des Labels ist von der Sprache abhängig, die im Backend konfiguriert und aktuell im Frontend gewählt wurde (und natürlich in der Sprachdatei definiert sein muss).\\ \\ Es kann auf Sprachdateien von TYPO3-Erweiterungen oder eigene Dateien zugegriffen werden: 10 = TEXT 10.data = LLL:EXT:tt_news/pi/locallang.xml:nextArticle 20 = TEXT 20.data = LLL:fileadmin/Language/locallang.xml:Left | ^path|Verändert einen Dateipfad, üblicherweise einen Extensionpfad, in einen Pfad relativ vom root-Verzeichnis der TYPO3-Installation. Bei einem fehlerhaften Ursprungspfad wird nichts ausgegeben. 10 = TEXT 10.data = path:EXT:tt_news/locallang.xml # Ausgabe: typo3conf/ext/tt_news/locallang.xml | ^cObj|Zählt ausgegebene Datensätze bei der Verwendung von CONTENT und RECORDS. ''parentRecordNumber'' ist der einzige Parameter. 10 = CONTENT 10 { table = tt_content select { orderBy = sorting where = colPos=0 } renderObj = COA renderObj { 10 = TEXT 10.field = header 10.dataWrap =

{cObj:parentRecordNumber}: |

} } # Ausgabe aller Header von Inhaltselementen auf der aktuellen Seite, # mittels 'cObj:parentRecordNumber' fortlaufend nummeriert
| ^debug|Gibt Informationen in einer HTML-Tabelle aus, z.B. die Inhalte der //pages//-Tabelle.\\ **debug:data** -> Liefert den Inhalt aus //%%$cObj->data%%//.\\ **debug:rootLine** -> Liefert die gesamte rootLine von //root// bis zur aktuellen Seite.\\ **debug:fullRootLine** -> Name missverständlich. Wie rootLine, nur entgegengesetzte Ausgabe der Inhalte.\\ **debug:register** -> Liefert die aktiven Register mit ihren aktuellen Inhalten.\\ **debug:page** -> Liefert die Daten der aktuellen Seite. Im Kontext einer Seite identisch mit ''debug:data'', abzgl. dem //current// Wert in ''currentValue_kidjls9dksoje''. 10 = TEXT 10.data = debug:rootLine | ^global|Veraltet. Stattdessen sollte //GP//, //TSFE// oder //getenv// verwendet werden.| ---- ===== GraphicColor ===== ---- ===== HTML code ===== ---- ===== HTML-color ===== ---- ===== imageExtension ===== ---- ===== imgResource ===== ---- ===== integer ===== Eine positive oder negative Ganzzahl. Im folgenden Beispiel steht der Integer-Wert für ein ASCII-Zeichen: 10.char = 83 ---- ===== linkWrap ===== Ermöglicht das Erzeugen von Links, die auf eine bestimmte __Ebene__ die rootLine hinauf verweisen. Möglich sind Ebenen von ''0'' (root) bis ''9''. # Verweis auf die root-Ebene 10.linkWrap = | ---- ===== list ===== ---- ===== margins ===== ---- ===== Object types ===== ==== cObject ==== ==== frameObj ==== ==== Gifbuilder Object ==== ==== menu object ==== ---- ===== page id ===== ---- ===== path ===== ---- ===== pixels ===== ---- ===== positive integer ===== Eine positive Ganzzahl. 10.spaceAfter = 20 ---- ===== resource ===== Gibt die Quelle einer Datei an. * Enthält der String einen Slash ''/'', erwartet TYPO3 Pfad und Namen einer Datei auf dem Server. * Ist kein Slash vorhanden, erwartet TYPO3 die Datei innerhalb des Resource-Feldes im TypoScript-Template. Hier kann zusätzlich ein Sternchen ''*'' als Platzhalter verwendet werden, falls die Datei eine Nummerierung besitzt (//gitarre_01.png, gitarre_02.png, ...//). Es wird dann das Bild mit der höchsten Nummerierung verwendet.\\ Achtung: Das Resource-Feld wurde in TYPO3 CMS 6.0 entfernt! # Pfad + Datei auf dem Server 10.file = fileadmin/images/gitarre.png # Datei im TypoScript-Template (bis TYPO3 4.7) 20.file = gitarre*.png ---- ===== rotation ===== ---- ===== space ===== Gibt den Abstand vor und nach einem Objekt in Pixeln an. Diese beiden Werte werden mit dem Pipe-Symbol unterteilt. 10.space = 20|30 ---- ===== strftime-conf ===== Wandelt einen Unix-Timestamp (Sekunden seit 1.9.1970) in eine Zeitangabe um. Die gewünschten Parameter werden mit ''%'' begonnen. Wird mit der stdWrap-Funktion [[typo3:about:functions:stdwrap#strftime|strftime]] verwendet. Alle verfügbaren Parameter sind identisch mit der PHP-Funktion [[http://de2.php.net/manual/de/function.strftime.php|strftime()]]. 10.strftime = %d.%m.%Y 20.strftime = Es ist %R Uhr. ---- ===== string ===== Steht für eine Zeichenkette, die beliebigen Inhalt und Umfang besitzen kann. 10.value = Hello world! 20.wrap =

| und {$Konstante}.

---- ===== ===== ---- ===== -data ===== ---- ===== -params ===== Bei diesem Datentyp werden Attribute verlangt, die man HTML-Elementen vergeben kann. Das können Universalattribute wie //class//, //id//, //style// oder //title// sein, aber auch Attribute, die nur für das aktuelle Element gelten. 10.typolink.ATagParams = accesskey="b" ---- ===== target ===== Ziel eines ''''-Links. In erster Linie für die Verwendung mit Frames gedacht, lässt sich hiermit auch das Öffnen des Links in einem neuen Fenster erzwingen. __Mögliche Werte sind:__\\ ''_blank'' -> Link wird in neuem Fenster im Vordergrund geöffnet.\\ ''_self'' -> Link wird im gleichen Fenster geöffnet.\\ ''_top''\\ ''content''\\ ''_parent''\\ ''selbst bestimmter Frame-Name''\\ 10.typolink.target = _blank ---- ===== UNIX-time ===== Es wird eine Zeitangabe im Format des Unix-Timestamp (Sekunden seit 1.9.1970) erwartet. ---- ===== VHalign ===== ---- ===== wrap ===== Umschließt den aktuellen Wert mit dem im Wrap definierten Inhalt. Die Stelle, wo der Inhalt eingefügt werden soll, wird mit dem Pipe-Symbol markiert. Dieses kann auch am Anfang oder Ende des Wraps stehen. Ist kein Pipe-Symbol im Wrap vorhanden, wird der Inhalt am Ende des Wraps eingefügt. __Teilweise__ kann mit der zusätzlichen Eigenschaft ''.splitChar'' ein alternatives Trennzeichen gewählt werden. Dies ist dann in der jeweiligen [[typo3:about:functions:stdwrap|stdWrap]]-Funktion vermerkt. 10.wrap =

|

20.wrap =

?

20.wrap.splitChar = ?
---- ===== x,y,w,h =====