Web Development
Oliver Thiele

TypoScript-Syntax
Dies ist eine kurze Zusammenstellung der wichtigsten Syntaxregeln für TypoScript.

Ausklammern von TypoScript

Anstatt immer wieder etwas wie page.10.marks.MARKER... zu schreiben können TypoScript-Objekte mit geschweiften Klammern ausgeklammert werden. Dies macht vor allem den Code übersichtlicher.

Aus dem TypoScript-Code

page = PAGE
page.typeNum = 0
page.10 = TEXT
page.10.value = Hallo Welt!
page.10.stdWrap.case = upper

würde dann

page = PAGE
page {
	typeNum = 0
	10 = TEXT
	10 {
		value = Hallo Welt!
		stdWrap.case = upper
	}
}

Kommentare

Einzeilige Kommentare werden mit # eingeleitet und sollten immer in einer eigenen Zeile stehen, da TypoScript nicht wie andere Programmiersprachen mit Markierungen wie bei z.B. PHP:

$var = "String";

für String-Begrenzung "" und Zeilenende ";" arbeitet. Dies gilt auch für mehrzeilige Kommentare, die mit /* eingeleitet und mit */ beendet werden.

# Dies ist ein Kommentar in einer Zeile
 
/*
Dieser Kommentar
geht ueber mehrere
Zeilen
*/

= und () Wertzuweisungen

Mit dem Operator "=" wird einer Eigenschaft ein Wert zugewiesen. Der Wert kann in dieser Schreibweise nicht über mehrere Zeilen gehen.

Will man einen Wert über mehrere Zeilen im TypoScript eintragen, kann man die runden Klammern einsetzen. Die Zeilen werden dann genauso im HTML-Quelltext ausgegeben, wie sie im TypoScript angegeben wurden.

page.10 = TEXT
page.10.value = Hallo Welt!
 
page.20 = TEXT
page.20.value (
<h2>
    Hallo Welt!
</h2>
)

> Löschen eines Objektes oder einer Eigenschaft

Man kann Objekte oder Eigenschaften löschen, die zuvor im TypoScript definiert wurden. Sinnvoll ist dies vor allem in Conditions oder um Werte zu überschreiben, die durch das Statische Template "css_styled_content" hinzugefügt wurden. So bleibt man dann bei einem Update dieser Extension davor bewahrt, dass alle eigenen Änderungen überschrieben werden.

Beispiel, in dem erst page.10 definiert wird und dann wieder gelöscht wird:

page.10 = TEXT
page.10.value = Hallo Welt!
page.10 >

< Kopieren eines Objektes

Kopieren geht zum einen über den kompletten Pfad oder, wenn man ausgeklammert hat, auch mit einer relativen Pfadangabe. Im zweitem Fall geht man vom ausgeklammerten Objekt aus und schreibt einen Punkt davor.

Beispiele:

page.10 = TEXT
page.10.value = Hallo Welt!
page.20 < page.10
 
page {
    10 = TEXT
    10.value = Hallo Welt!
    20 < .10
}

=< Referenzieren eines Objektes

Anstatt einer Kopie wird nur ein Verweis auf das Orginal-Objekt gemacht. Somit ändern sich gegebenenfalls immer alle Refererenzen, unabhängig von der Position im TypoScript. Allerdings verhält sich eine Referenz nicht immer wirklich so, wie man vermuten könnte. Wird die Referenz modifiziert, wird nicht etwa das Orginal geändert. Hier verhält sich die Referenz dann doch eher wie eine Kopie.

:= Änderung zur Laufzeit von Werten (TYPO3 Version 4.0+)

Dynamische Änderung von Werten. Ermöglicht es, Strings oder kommaseparierte Listen zu erweitern oder Werte daraus zu entfernen.

Folgende Funktionen sind bereits vorhanden:

  • prependString()
    Ein String wird vor den vorhandenenen String angefügt.
  • appendString()
    Ein String wird hinter den vorhandenenen String angefügt.
  • removeString()
    Ein String wird aus dem vorhandenenen String herausgelöscht.
  • replaceString()
    Ein String wird in dem vorhandenenen String ersetzt.
  • addToList()
    Fügt einer kommaseparierten Liste weitere Werte hinzu
  • removeFromList()
    Löscht aus einer kommaseparierten Liste bestimmte Werte

Conditions

Eckige Klammern leiten eine Condition ein oder beenden diese. Mit Conditions kann das TypoScript zur Laufzeit modifiziert werden, wenn bestimmte Vorraussetzungen erfüllt sind. (z.B. Ist der Website Benutzer eingeloggt, Verwendet dieser den IE oder einen anderen Browser, ...)

Weitere und genauere Informationen findet man in der TSRef.

© Copyright 2003-2017 Web Development Oliver Thiele. All rights reserved. - Diese Seite wurde am 31.10.2013 um 09:29 erstellt.
Letzte Änderung: 19.05.2017 12:53:25

oliver-thiele.de Trustcheck Seal