Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:datentypen

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 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 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 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 data, dataWrap und 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: <p>Sie sind auf Seite: Seitentitel</p>.
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 = |<p>Sie sind auf Seite: |</p>|
 
20 = TEXT
20.value = Sie sind auf Seite: {field:title}
20.insertData = 1
20.wrap = <p>|</p>
 
30 = TEXT
30.value = Sie sind auf Seite:&nbsp;
30.dataWrap = <p>| {field:title}</p>

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

TypBeschreibung
fieldMit 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
registerLädt Inhalte aus dem Register. Diese können vorher selbst mit 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 = <p style="{register:roteFarbe}">|</p>
# Ausgabe: <p style="color:red;">Inhalt</p>
leveltitle, leveluid, levelmediaGeben Werte entlang der 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
levelfieldGibt Werte aus wählbarem DB-Feld entlang der 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
dateErmö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 date().
10 = TEXT
10.data = date:d.m.Y
# Ausgabe: 01.03.2014
pageLiest 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 = <h3>Seite: {page:uid} - Inhalt: {field:uid}</h3>
    20 = TEXT
    20.dataWrap = <p>{field:header}</p>
  }
}
# Ausgabe: <h3>Seite: 17 - Inhalt: 24</h3> <p>Überschrift Inhaltselement</p>
currentGibt 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
levelGibt 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
GPKann 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
getenvGibt Umgebungsvariablen aus. Entspricht der gleichnamigen PHP-Funktion. getIndpEnv sollte bevorzugt verwendet werden, da diese systemunabhängig funktionieren.
getIndpEnvGibt 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.
Folgende Variablen stehen zur Verfügung.
10 = TEXT
10.data = getIndpEnv:HTTP_USER_AGENT
TSFELiest 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
DBGibt 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
fullRootLineGibt 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
LLLMit 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
pathVerä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
cObjZä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 = <p>{cObj:parentRecordNumber}:&nbsp;|</p>
  }
}
# Ausgabe aller Header von Inhaltselementen auf der aktuellen Seite,
# mittels 'cObj:parentRecordNumber' fortlaufend nummeriert
debugGibt 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
globalVeraltet. 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 = <a href="?id={0}"> | </a>

list


margins


Object types

cObject

frameObj

Gifbuilder 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 strftime verwendet.

Alle verfügbaren Parameter sind identisch mit der PHP-Funktion 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 = <p>| und {$Konstante}.</p>

<tag>


<tag>-data


<tag>-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 <a>-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 stdWrap-Funktion vermerkt.

10.wrap = <p>|</p>
 
20.wrap = <p>?</p>
20.wrap.splitChar = ?

x,y,w,h

typo3/about/datentypen.txt · Zuletzt geändert: 2017/12/12 21:46 von admin