TypoScript-Templates

Nach der Erstellung der Designvorlage ist die Erstellung eines TypoScript-Templates der nächste Schritt zur funktionierenden Typo3-Website.
Templates erfüllen in Typo3 folgende Aufgaben:
  • Darstellung der Inhalts-Elemente
  • Einbindung von Designvorlagen
  • Erstellung von Menüs
  • Definition von Seiteneigenschaften
  • Einfügen und Konfigurieren von Erweiterungen
Der Template-Begriff wird in Typo3 anders verwendet als in den meisten Web Content Management Systemen, in denen meist HTML-Dateien mit zusätzlichen Informationen versehen werden. In Typo3 wird dieses Konzept auch verwendet (siehe Designvorlagen), aber die Möglichkeiten von Markern und Subparts sind sehr eingeschränkt. Soll mehr Funktionalität eingesetzt werden, existiert in Typo3 die Konfigurationssprache Typoscript. Ein Template in Typo3 ist eine Abfolge von Typoscript-Befehlen, die hauptsächlich festlegen:
  • wie Seiten formatiert werden
  • woher dynamische Inhalte stammen
  • und wie Menüs generiert werden

Um Templates anlegen und verwalten zu können, existiert das Sub-Modul Templates im Hauptmodul Web der linken Menüleiste.

Ein Klick auf dieses Sub-Modul und eine Maske ähnlich der obigen Abbildung wird dargestellt. Nachdem das Sub-Modul Template ausgewählt worden ist, kann nun ein für eine bestimmte Seite ein Template anlegen werden. Zu diesem Zweck müssen Sie auf eine Seite im Seitenbaum klicken. Im rechten Fenster wird das entsprechende Template angezeigt. Falls noch keines für diese Seite existiert, hat der Benutzer die Möglichkeit ein neues Template für die aktive Seite anzulegen (siehe Abbildung unten).



Zum Erzeugen eines Templates klicken Sie auf die Schaltfläche "Create template for a new site". Typo3 legt nun ein neues Template mit der Bezeichnung „NEW SITE“ an. Da für die Unterseiten kein eigenes Template erstellt wurde, gilt dieses Template auch für alle hierarchisch tiefer liegenden Seiten.



Nach dem Erezeugen besteht die Möglichkeit mittels des Template Tools, das neue Template zu editieren (siehe Abbildung oben). Die Maske setzt sich aus folgenden Bestandteilen zusammen:
  • Titel
  • Beschreibung
  • Ressourcen, die das Template verwendet
  • Bereich Constants
  • Bereich Setup
Vor allem die Bereiche Constants und Setup sind für das Template von Bedeutung. Im Feld Constants werden die Konstanten, die von den Typoscript-Befehlen verwendet werden, definiert. Das Feld Setup enthält die eigentlichen Befehle. Durch Klick auf ein Stift-Symbol besteht die Möglichkeit, die entsprechenden Felder zu bearbeiten. Das Feld Setup weist standardmäßig folgenden Inhalt auf:
# Default PAGE object:
page = PAGE
page.typeNum = 0
page.10 = TEXT
page.10.value = HELLO WORLD!

  • Die Zeile mit der vorangestellten Raute # ist eine Kommentarzeile
  • Im ersten Schritt wird die Variable page mit dem Typoscript-Objekt PAGE belegt.
  • Als nächstes wird die Eigenschaft typeNum des PAGE-Objekts gesetzt. Hier wird die von objektorientierten Programmiersprachen bekannte Punknotation verwendet, um Eigenschaften zu setzen. typeNum soll Seiten, die zusammen ein Frameset bilden, voneinander unterscheidbar machen. Die Seite mit dem Wert 0 stellt die Frameset-Seite dar. Die Seitenobjekte der Frame-Seiten erhalten einen Wert größer als 0. Bei Projekten ohne Frames erhält die Eigenschaft typeNum den Wert 0.
  • page.10 beschreibt die Position 10 des Objekts page. An dieser Position wird ein TEXT-Objekt erzeugt und zugewiesen. Die Reihenfolge der Position spielt eine Rolle. Der Wert selbst kann dabei frei gewählt werden.
  • Um dem TEXT-Objekt einen Wert zuweisen zu können, wird die Eigenschaft value gesetzt.
Normalerweise enthalten Webprojekte viele unterschiedliche Seiten. Es wäre unpraktisch, wenn für jede Seite ein eigenes Template erstellt werden müsste. In Typo3 wird dies gelöst, indem das Template einer Seite an alle Unterseiten „vererbt“ wird. Dadurch können z.B. allgemeine Eigenschaften in höheren Ebenen für alle Seiten definiert werden und in den tieferen Ebenen erweitert werden. Um alle Eigenschaften eines Templates verändern zu können, müssen Sie im Template-Tool den Punkt Info/Modify wählen und den Punkt "Click here to edit whole template record". Die nächste Abbildung zeigt den ersten Teil der Maske zur Verwaltung der Templates.


Folgende Elemente stehen für die Bearbeitung zur Verfügung:
  • Titel des Templates sowie der Website
  • Kontrollkästchen zum Deaktivieren bzw. zur Festlegung des Gültigkeitszeitraums
  • Felder zur Eingabe eines Gültigkeitszeitraums
  • Felder für die Konstanten und den Typoscript-Code
Die Verwendung von Konstanten wird durch folgendes kleines Beispiel gezeigt:
page.10 = TEXT
page.10.value = {$meinekonstante}

Der obige Code steht im Feld Setup und weist dem Textobjekt den Wert der angegebenen Konstante zu. Im Feld Constants wird der Wert der Konstante gesetzt.
meineKonstante = Dies ist ein Text.



Der zweite Teil der Template-Maske stellt die weiteren Felder der Templatedaten dar. Die Aktivierung der Checkbox Rootlevel definiert das Template als Ausgangspunkt. Alle Seiten, die untergeordnet sind, verwenden dadurch dieses Template. Das Feld Clear für den Setup- und Constants-Bereich ermöglicht, dass die Einstellungen hierarchisch übergeordneter Templates gelöscht werden. Dadurch wird der bereits angesprochene Vererbungsmechanismus deaktiviert. Der Punkt "Include static" ermöglicht das Einbinden von statischen vorgefertigten Templates. Diese Möglichkeit wird in der Detailseite Statische Templates und dynamische Datenbank-Inhalte einbinden genauer beschrieben.