Syntax

Grundsäztlich sind TypoScript-Anweisungen wie folgt aufgebaut:
[Objektpfad] . [Eigenschaft] [Operator] [Wert]

Es gelten folgende allgemeine Syntaxregeln:
  • Objekte und Eigenschaften werden durch einen Punkt getrennt.
  • TypoScript unterscheidet zwischen Groß- und Kleinschreibung.
  • Konstanten haben die Form {$name} und werden vor der Abarbeitung des eigentlichen TypoScript-Codes mit dem definierten Wert ersetzt.
  • Für Objekt- und Eigenschaftenbezeichner dürfen nur die Zeichen "a-z", "A-Z", "0-9", sowie "-" und "_" verwendet werden.
  • Der Text vom Zeilenanfang bis zum Operator darf kein Leerzeichen enthalten.
  • Numerische Listen (z.B. page.10, page.20) werden in aufsteigender Reihenfolge abgearbeitet.


Kommentare
Zur Dokumentaion von TypoScript-Anweisungen können Kommentare eingefügt werden. Einzeilige Kommentare werden durch # eingeleitet. Mehrzeilige Kommentare werden durch /* */ umschlossen.
# Ein einzeiliger Kommentar
/* Mehrere Zeilen,
mehrere Zeilen */




Operatoren
{}
Dank der geschwungenen Klammern kann TypoScript-Code übersichtlicher gestaltet werden, da damit Eigenschaften geschachtelt werden können.


Folgender Code ist dabei equivalent:


()
Die runden Klammern schließen Werte ein, die über mehrere Zeilen gehen können. So kann, wenn z.B. statt einfachem Text HTML-Code als Wert übergeben werden soll, dieser Operator verwendent werden.



= Operator
Das Gleichheitszeichen steht für die Zuweisung eines Wertes zu einer Eigenschaft.


< Operator
Mit dem < Operator kann ein Teilbaum in einen anderen kopiert werden. Es lassen sich einzelne Eigenschaften oder ganze Objekte kopieren. Die im Zielbaum bestehenden Objekte und Werte werden dabei überschrieben.


Zuerst wird ein Text ausgegeben, danach ein "Break" mittels HTML erzeugt und der Text aus page.10 wird in page.20 kopiert und erneut ausgegeben.


=< Operator
Dieser Operator kopiert nicht einen ganzen Teilbaum sondern referenziert nur auf diesen. Refernzierung ist nur mit Objekten möglich, nicht mit Eigenschaften.


Dieser TypoScript-Code führt zur folgenden Ausgabe:
<font color="blue">Hallo Typo3!!! (Referenz)font><br/><font color="red">Hallo Typo3!!! (Kopie)
Das Objekt page.10 verweist hier mit dem Operator =< auf das vorher definierte Objekt "objekt". Da es sich um eine Referenz handelt wird es während der Abarbeitung des TypoScript-Setup ins Objekt page.10 übernommen. So kann es an verschiedenen Stellen im Objektbaum verwendet werden und ist immer aktuell. Der Text "Hallo Typo3!!! (Referenz)" wird im Frontend blau dargestellt, da textStyle.color.default im Objekt objekt nachträglich überschrieben wurde. Die Kopie in page.20 übernimmt die Änderungen der Textfarbe nicht, da die Eigenschaften kopiert wurden, bevor diese auf blau umgestellt wurden.


> Operator
Dieser Operator löscht bestehende Teilbäume ab dem jeweiligen Pfad.


Hier wird nur der Text "Hallo!" ausgegeben, Inhalte von page.20 werden gelöscht.


[ ] Operator
Mit diesem Operator können Bedingungen deklariert werden. Das erste Zeichen der Zeile muss hierbei eine eckige Klammer [ sein.
Bedingungen können verwendet werden, um bestimmte TypoScript-Deklarationen nur zu aktivieren, wenn die Bedingung erfüllt ist. Mehrere Bedingungen einer Zeile werden mit "oder" verknüpft.
[system = win] [browser = msie]
   # System ist Windows und verwendeter Browser ist der Internet Explorer.
[else]
  # System ist weder Windows noch wird der Internet Explorer verwendet.
[end]


Der Teil hinter [else] wird aktiviert, wenn alle Bedingugnen nicht erfüllt sind. Möchten Sie mehrere Werte in einer Bedingung zulassen, können die erlaubten Werte durch Komma getrennt werden.
[browser = netscape, opera]
    # Browser ist Netscape oder Opera
[end]