1.1| TypoScript Basics – Typo3 Template mit FLUID programmieren

In diesem Tutorial werden wir Schritt für Schritt ein eigenes Typo3 Template in der neuen Technologie FLUID programmieren.
Zuerst: Was ist FLUID überhaupt? FLUID ist die Template Engine von Typo3. Da die Funktionen von Smarty oder ähnlichen Template Engines den Anforderungen von Typo3 nicht gerecht wurden, wurde Typo3 FLUID entwickelt. FLUID ist in Typo3 4.3 enthalten, aber auch im PHP Framework Flow3. FLUID hat einige neue Variablen, die man sich auf der Typo3 Wiki ansehen kann. (http://wiki.typo3.org/De:Fluid)

Um mit dem Bearbeiten eines Templates anzufangen melden wir uns zuerst in unserer Typo3 Installation an. Als nächstes gehen wir auf den Menüpunkt Template, welcher sich im linken Menü befindet. Nun erscheint oben auf der Seite ein Dropdown Menü. In diesem wählen wir „Info/Modify“ aus und klicken dann auf den Punkt „Setup“. Nun sind wir im Typo3 eigenen „t3editor“.

1. Text im Typo3 Template anzeigen

Wir fangen erst einmal einfach an. Wir geben einfachen Text in unserem Template aus. Dafür verwenden wir das allseits beliebte und viel verwendete Beispiel „Hallo Welt“.

Mit der Anweisung „page = PAGE“ erstellen wir ein neues „Page“ Objekt namens „page“.

page = PAGE

Als nächstes bestimmen wir einen Textblock und füllen diesen mit unserem Text. Dies geschieht über folgende Anweisung:

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

Wenn wir nun ins Frontend unserer Typo3 Installation gehen, sehen wir den Text „Hallo Welt“ auf unserem Bildschirm.
Die Zahl „10“ bestimmt sozusagen zum einen die ID des Elements und zum anderen die Reihenfolge, in der die Elemente angezeigt werden. Ein Element mit der Zahl „10“ wird also immer vor einem Element angezeigt, mit der Zahl „20“.
Die Typoscripte werden immer von oben nach unten abgearbeitet. Daraus ergibt sich, dass ein Element geändert wird, wenn es nochmals mit „.value“ beschrieben wird.

page.10 = TEXT
page.10.value = Hallo Welt
page.10.value = Unser überarbeiteter Text Hallo Welt

In diesem Beispiel wird unser Text „Hallo Welt“ durch den Text „Unser überarbeiteter Text Hallo Welt“ ersetzt. Es wird auch nur der zuletzt gesetze Text angezeigt. Wenn wir nun wieder in das Frontend gehen, sehen wir den Text „Unser überarbeiteter Text Hallo Welt“ auf unserer Webseite.

Bei alten Typo3 Templates findet man folgende Anweisung um einen Textbaustein zu erstellen.

page.10 = HTML

Dieser ist laut der neuen Typo3 FLUID Version nicht mehr korrekt und wurde durch „page.10 = TEXT“ ersetzt.

2. Eigene Objekte erstellen

In Typo3 FLUID kann man eigene Objekte erstellen. Im oben genannten Beispiel hieß dieses Objekt „page“ und wurde vom obersten Objekt abgeleitet. Es lassen sich aber auch für jeden Text- bzw später auch Bildblock eigene Namen vergeben. Dies sieht dann folgendermaßen aus:

meinElement = TEXT
meinElement.value = Hallo Welt

page = PAGE
page.10 < meinElement

Mit „meinElement = TEXT“ wird ein neuer Textblock mit dem Namen „meinElement“ erzeugt. Es wird eine neue „page“ erzeugt und auf dieser das Element an Position 10 angezeigt.
Öffnen wir mit diesem Code nun das Frontend, sehen wir auf der Seite den Text „Hallo Welt“.

3. Typoscript abkürzen

Typoscript lässt sich auch verkürzen und vereinfachen. Dies erreichen wir durch das Setzen einer geschweiften Klammer. Wir nehmen noch einmal das obige „Hallo Welt“-Beispiel.

page = PAGE

page {
    10 = TEXT
    10 = Hallo Welt
    20 < .10

    30 = TEXT
    30 = Zweiter Absatz
    40 < .30
}

Diese Schreibweise verkürzt den Code und würde uns jetzt „Hallo Welt Zweiter Absatz“ anzeigen. Die Funktion „20 < .10“ sagt das selbe wie „20 < page.10“ und gibt das Element 10 aus. Es ist nur eine noch weiter verkürzte Schreibweise.

4. Daten aus Seiten ins Template importieren

Unser Template ist bis jetzt noch extrem statisch und es können keine Daten durch den Benutzer eingepflegt werden. Um dies zu ändern fangen wir einmal langsam an und lassen uns die mittlere Spalte der CMS-Seite anzeigen. Dies geht über folgenden Code:

page.20 < styles.content.get

Die Zahl „20“ hinter „page“ sagt wieder nur die Reihenfolge aus. Hier wird uns nun die mittlere Spalte der gefragten CMS Seite angezeigt.

5. Operatoren in TypoScript

Der erste Operator in Typo3 6 ist der sogenannte Referenzoperator. Geschrieben wird er „=<“ ohne die „“. Der Operator hat den Vorteil, dass er auch nachträglich geänderten Text in der neusten Version anzeigt. Er erstellt quasi nur eine Verknüpfung zu dem Objekt. Wird die Verknüpfung geändert, so wird auch die Anzeige geändert. Er überprüft also vor der Ausgabe, ob im nachfolgenden Skript noch eine Änderung an dem Objekt vorgenommen wird. Dies wird an folgendem Beispiel erkennbar.

beispielOBJEKT = TEXT
beispielOBJEKT.value = <h2>Text in h2</h2>

page=PAGE

page {
10 < beispielOBJEKT
20 =< beispielOBJEKT
}

beispielOBJEKT.value=<h1>Anderer Text</h1>

Wir geben hier zwei mal das beispielOBJEKT aus. Das erste mal mit dem normalen kopieren Operator und das zweite mal mit dem Referenzoperator.
Das erste Mal wird der <h2>-Tag ausgegeben, das zweite Mal der <h1>-Tag. Dies zeigt die Funktionsweise des Referenzoperators in Typoscript.

Der zweite Operator ist der löschen Operator. Er wird folgendermaßen geschrieben: „>“ (ohne „“) Dieser Operator löscht Objekte aus dem Skript. Die betroffenen Objekte werden auch nicht mehr im Frontend angezeigt.

Beispiel:

10 > beispielOBJEKT

Dieser Teil Typoscript löscht das Objekt beispielOBJEKT. Man könnte dieses Objekt auch mit „#“ auskommentieren.

6. Mehrzeilige Textblöcke

In Typo3 CMS 6 gibt es mehrzeilige Textblöcke. Diese haben den Vorteil, dass sie meist übersichtlicher sind. Den Aufbau erkennen wir an folgendem Beispiel:

beispielOBJEKT = TEXT
beispielOBJEKT.value (
    <h2>Text in h2</h2>
    Lorem Ipsum
)

Der Textblock wird mit der runden Klammer „(“ eingeleitet und mit „)“ wieder geschlossen. Der Text im Inneren der runden Klammern ist der Inhalt des Objektes. Hier sieht man auch den Unterschied zwischen runden und geschweiften Klammern. geschweifte Klammern werden für Zusammenfassungen von Objekten gebraucht, runde Klammern hingegen für Zusammenfassungen einzelner Werte in einem Objekt.

6. Typoscript Syntaxfehler finden und beheben

Typo3 6.1.7 bietet von Haus aus einen eigenen Editor an. Den „t3editor“. Typo3 bietet aber zusätzlich einen Object Browser an, mit dem man Fehler im Typoscript finden kann.
Um den Object Browser zu öffnen klickt man im obigen Reiter auf „Typoscript Object Browser“. Dieser verschafft einen Überblick über alle gesetzten Objekte und deren Werte. Fehlermeldungen über Tipp- oder Syntaxfehler findet man in der oberen Zeile des Object Browsers. Fehler sind in der Regel rot hinterlegt. Außerdem findet sich hier eine „Line Number“, in der der Fehler auftritt.
Die „Line Number“ sind allerdings besonders aufgebaut. Unser Template fängt z.B. erst bei ca. Line 2800 an. Deshalb sind die Zeilenangaben für Fehler im eigenen Template recht hoch. Über den Reiter „Template Analyse“ im obigen Menü lassen sich alle verwendeten und verfügbaren Templates anzeigen, sowie bearbeiten. Hier werden auch die dazugehörigen Zeilenangaben angezeigt. (z.B. 2618) Auch die Fehlermeldung wird hier im Skript erneut angezeigt.
In der Templatedatei „EXT:css_styled_content/static/“ werden alle Typo3 6 eigenen Funktionen gesetzt. Darunter ist auch die uns bekannte „styles.content.get“ Funktion.

Typo3 CMS 6.1 FLUID Template programmieren:

Marvin Sengera

Hey! Ich bin Marvin Sengera, Inhaber der Internetagentur "Binärfabrik" aus Paderborn. Ich habe mein Bachelorstudium Informatik mit Schwerpunkt Industriespionage an der Hochschule Hamm Lippstadt abgeschlossen und absolviere derzeit meinen Master in Fachrichtung "Technical Entrepreneurship and Innovation". Ich beschäftige mich rund um die Themen Informatik, Innovation & Unternehmensgründung.

Das könnte dich auch interessieren …

Schreibe einen Kommentar