Erste Schritte mit TypoScript

TypoScript ist die Konfigurationssprache in TYPO3 und stellt grade für Neueinsteiger eine große Hürde dar. Da man keine spezielle Syntax braucht sind Basics schnell erlernt und eine TYPO3 Seite in wenigen Minuten grundkonfiguriert.

Innerhalb von TypoScript sprechen wir vom object path (Konstante) dem wir Werte (values) zuweisen können. Doch TypoScript beschränkt sich nicht nur auf das Speichern von Werten in Konstanten, es gibt viele vordefinierte sogenannten TypoScript objects, die später im Parsing komplex ersetzt werden - dazu später mehr.

Schauen wir uns zunächst die Syntax an:

my_ts_object = hallo

Mit dieser einfachen Schreibweise haben wir unserer Konstanten ‘my_ts_object’ den Wert ‘hallo’ zugewiesen.

Ähnlich wie ein php Array ist auch eine weitere Verschachtelung möglich:

my_ts_object.form = rund
my_ts_object.farbe = rot


Andere Schreibweise:

my_ts_object {
    form = rund
    farbe = rot
}

 

Um unsere Eingaben zu testen benötigen wir eine leere TYPO3 Installation wie hier beschrieben: TYPO3 installieren


Die ersten Ausgaben mit TypoScript

Zu Testzwecken nehmen wir eine TYPO3 Installation, legen eine neue Seite an und erzeugen auf dieser ein neues Template vom Typ “Seitentemplate”. Im Template gehen wir auf das Feld Setup und löschen alles was TYPO3 da standardmäßig reingeschrieben hat.

[Images]

Wir rufen die Seite im Frontend auf und bekommen einen Fehler (Running Gag: Du installierst WordPress und hast einen Blog, Du installierst TYPO3 und hast einen Error). Aber Spaß bei Seite, was passiert hier?

Da wir TYPO3 gar nicht gesagt haben was mit dieser Seite passieren soll, kann hier auch nichts ausgegeben werden.
Unser Zauberwort ist der TypoScript object path page, der TYPO3 anweist die Seite überhaupt im Frontend auszugeben.


Das Hello World Snippet

Wir schreiben in unserer Setup Feld:

page = PAGE
page.10 = TEXT
page.10.value = HELLO WORLD!

Im Frontend wird uns nun eine weiße Seite mit Text “Hello World” angezeigt. Übersetzt bedeutet das TypoScript:
page = PAGE Bau mir eine Seite mit dem Namen page (hier könnte auch irgendwas anderes stehen)
page.10 = TEXT Definere ein Textobjekt auf der Positin 10
page.10.value = HELLO WORLD! Gebe meinem Textobjekt den Wert “Hello World”

Wenn wir den Quelltext der Seite uns ansehen, hat die Zeile page = PAGE einen kompletten html Container erzeugt:

<DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title»Meine Seite «/title>
    <meta name="generator" content="TYPO3 6.1 CMS>
</head>
<body>
    HELLO WORLD!
</body>
</html>

So banal das Beispiel sein mag (und wahrscheinlich schon zig-fach gesehen) zeigt es doch eindrucksvoll das TYPO3 interne Parsing von TypoScript. Aus einem page-Object wird ein komplettes html Template geparst, während meine Konstante 10 unverändert ausgegeben wird.
Fazit: Wir haben auf der einen Seite fest definierte TypoScript Objekte (z.B. PAGE), die in bestimmte Funktionen übersetzt werden, auf der anderen Seite kann ich aber eigene Konstanten mit Werten definieren.

Ein weiteres Beispiel:

meineKonstante = TEXT 
meineKonstante.value = Ich bin wertvoll

page = PAGE
    page {
    10 < meineKonstante
}

Zunächst definieren wir unsere Konstante und sagen sie soll Text enthalten. Mit dem “<” Zeichen weisen wir diese Konstante unserer Ausgabeposition 10 zu.

Die Ausgabeposition wird dabei in numerischer Reihenfolge abgearbeitet, unabhängig der Position im TypoScript.

20 = TEXT 
20.value = zweite zeile
10 = TEXT
10.value = erste Zeile

Ein solcher Eintrag im page Object würde also immernoch die Zeilen in der richtigen Reihenfolge ausgeben.
Hinweis: TypoScript ist Case sensitiv, also ‘Text’ ist nicht gleich ‘TEXT’!

Bisher haben wir statische Ausgaben erzeugt. Im nächsten Abschnitt “TypoScript im Template” geht es darum, wie wir unsere Eingaben aus der Datenbank bekommen und diese in Templates ausgeben können.

Empfehlenswerte Lektüre:

TypoScript - kurz & gut

Ein kleines, aber umfassendes Nachschlagewerk aller TypoScript Funktionen das auf jedem Schreibtisch liegen sollte der sich mit TYPO3 intensiv beschäftigt. Es ist für die 6.2 Version nicht mehr ganz aktuell - aber als Referenz für die unzähligen TypoScript Funktionen das beste am Markt.

Weitere Artikel zu diesem Thema:

Kommentare

keine Kommentare vorhanden


Kommentar verfassen

Die Email Adresse wird nicht veröffentlicht.