blog.bartlweb - a technologist's external brain

Typoscript Operatoren

Typoscript hat eine einfache Syntax mit diversen Operatoren und Kniffen die hier kurz erläutert werden.

Strukturierung

Generel handelt es sich bei Typoscript-Konfigurationen um PHP-Arrays und daher gibt es mehrere Ebenen und Strukturierungen. Der Punkt trennt verschiedenen Ebenen und geschwungene Klammern fassen diese zusammen.

Daher sind die beiden unteren Schreibweisen equivalent:

page = PAGE
page.typeNum = 0
page.10 = TEXT
page.10.value = Hello World!
page.10.wrap = -- | --
page.10.case = upper
page = PAGE
page {
  typeNum = 0
  10 = TEXT
  10 {
    value = Hello World!
    wrap = -- | --
  }
  10.case = upper
}

Kommentare

Wie auch in PHP gibt es in Typoscript Kommentare.

# einzeiliger Kommentar
 
// einzeliger Kommentar
 
/*
mehrzeiliger Kommentar
Kommentar
*/

Wertzuweisung

Werte werden generell per = zugewiesen und müssen auch nicht unter Anführungszeichen gestellt werden. Das heißt auch, dass nur eine Anweisung pro Zeile stehen kann. Mehrzeilige Werte können in runde Klammern gesetzt werden.

10.value = Hello World!
 
10.value (
  Hello
  World!
)

Zuweisung löschen

Zuweisung werden mittels größer Zeichen gelöscht.

10.value = Hello World!
10.value >

Zuweisungen kopieren

Auch das Kopieren von Zuweisungen ist ohne Probleme mit dem kleiner Zeichen möglich. Dabei ist zu beachten, dass bei relativen Pfaden immer ein . vor dem zu kopierenden Objekt stehen muss.

page.10 = TEXT
page.10.value = Hello World!
page.20 < page.10
 
page {
  10 = TEXT
  10.value = Hello World!
  20 < .10
}

Spezielle Zuweisungsoperatoren

Seit Typo3 4.0 unterstützt Typoscript auch spezielle Stringoperationen.

  • prependString()
    Zeichenkette am Anfang eines bestehenden Strings anfügen.
  • appendString()
    Zeichenkette am Ende eines bestehenden Strings anfügen.
  • removeString()
    Zeichenkette aus einem bestehenden String löschen.
  • replaceString(val1|val2)
    Zeichenkette in einem bestehenden String ersetzen
  • addToList()
    Wert an eine kommaseperierte Liste anfügen
  • removeFromList()
    Wert aus einer kommaseperierten Liste entfernen
page.10.value = Hello World
page.10.value := appendString(!)

plugin.tx_example.idList = 11,14
plugin.tx_example.idList := addToList(23)

Conditions

Typo3-Conditions dienen zur Abfrage von diversen Parameter und funktionieren wie if-else-Verzweigungen. Dabei können die Bedingungen mittels &&, || bzw AND, OR verknüpft werden. Die Bedingungen können mittels = bzw > und < gestellt werden. Eine NOT-Abfrage ist leider nicht möglich.

[PIDinRootline = 11]
  ..
[global]
 
 
[browser=msie]
  ..
[browser=firefox] OR [browser=opera]
  ..
[global]
 
 
[browser=msie]
  ..
[else]
  ..
[end]

Eine gesamte Liste aller Conditions findet sich in der Typo3-Core-Dokumentation: http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/4/1/

Simulation einer NOT-Condition

[IP = 127.0.0.1]
[else]
  ..
[end]

Die wichtigsten Conditions sind:

  • browser (msie, firefox, opera)
  • version
  • system (linux, win, mac)
  • device (pda, wap, grabber, robot)
  • hour, minute, dayofweek, dayofmonth, month
  • usergroup (int, *)
  • loginUser (int, *)
  • PIDinRootline
  • PIDupinRootline
  • [globalString = HTTP_HOST=www.typo3.com]
  • [globalVar = GP:print > 0]
  • [globalVar = TSFE:id = 10]
  • [loginUser = *]
  • [globalVar = TSFE : beUserLogin > 0]]

Dieser Artikel hat Dir deinen Tag gerettet?

... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? Oder einfach nur Dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Anerkennung honorierst:

Zahlung mit PayPal oder Kreditkarte.

Hinweis zur Verwendung

Die Übermittlung einer Zahlung ist eine persönliche Anerkennung Ihrerseits an den Entwickler (Christian Bartl, Privatperson). Eine Zahlung ist nicht zweckgebunden und es ist keine Gegenleistung zu erwarten. Bitte beachten Sie, dass für eine übermittelte Zahlung keine Quittung ausgestellt werden kann.

Über den Autor

Christian Bartl

Christian Bartl Requirements Engineer
& Solution Architect für Online und Mobile

Als Technologie-Enthusiast und begeisterter Programmierer entwickle ich in meiner Freizeit Websites, Software und IT-Lösungen, die mir selbst und anderen den Alltag vereinfachen.

mehr auf christian.bartl.me

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste! - Ich freue mich über deine Anmerkung, Kritik oder Frage.

Kommentar schreiben

Der hier angegebene Name wird gemeinsam mit deinem Kommentar auf der Website veröffentlicht.

Deine E-Mail-Adresse wird zur einmaligen Benachrichtigung bei Veröffentlichung des Kommentars genutzt.

Benachrichtigung per E-Mail über Antworten auf meinen Kommentar erhalten.

Bitte tippe die Zahlenkombination "1395" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.