| Weitere Artikel aus dem Webentwickler Blog |
| Teilen |
Nachdem in den bisherigen Teilen dieses Tutorials die Vorlage erstellt wurde, kommt endlich TYPO3 ins Spiel, genauer: ein TYPO3-Template, das mittels Typoscript-Anweisungen dem System mitteilt, welche Inhalte welchen Platzhalter ersetzen sollen.
Zunächst wird für die Root-Seite ein Template angelegt. Am einfachsten geschieht dies, indem das Modul Template gewählt wird und der Button Create template for new site angeklickt wird.

Anschließend wird bei diesem Template noch das statische Template aus der Erweiterung css_styled_content eingebunden. Diese Erweiterung gehört bei den aktuellen Versionen zum Installationsumfang. Sie finden sie als System-Extension im Ordner typo3/sysext.
Diese Erweiterung ist derzeit sozusagen das Standard-Template für Typo3. Sie hat die alten, tabellen-basierten Templates abgelöst. Im Hinblick auf barrierefreie Seiten war css_styled_content gegenüber tabellen-basierten Layouts ein großer Schritt nach vorne, wenn auch noch einige Lücken offen bleiben und die Erweiterung etwas zu übermäßig vielen CSS-Auszeichnungen neigt.
Der Typoscript-Teil des gerade erzeugten Templates sieht folgendermaßen aus:
# Default PAGE object:
page = PAGE
page.10 = TEXT
page.10.value = HELLO WORLD!
Es werden zwei Objekte angelegt, zum einen das PAGE-Objekt mit dem Namen page (wobei der Name beliebig ist), zum zweiten darin ein TEXT-Objekt, das als Bezeichner lediglich eine Nummer bekommt. Diesem Objekt wird in der Eigenschaft value ein statischer Wert zugewiesen.
Um nun statt des statischen Textes „HELLO WORLD!“ Inhalte auszugeben, wird anstelle des TEXT-Objekts das HTML-Template als Seitenobjekt eingebunden.
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/templates/simple/index.html
workOnSubpart = DOCUMENT_BODY
subparts.CONTENTRIGHT < styles.content.get
}
Dieser Code weist zunächst dem Template-Objekt die HTML-Datei zu. Die Anweisung workOnSubpart sorgt dafür dass aus dem Template nur der Bereich zwischen den ###DOCUMENT_BODY###-Markierungen benutzt wird.
Die letzte Anweisung bringt nun Inhalte aus dem CMS ins Spiel.
subparts.CONTENT < styles.content.get
holt die Inhalte der aktuellen Seite und ersetzt damit den Subpart CONTENTRIGHT.
styles.content.get ist ein vordefiniertes Objekt aus dem statischen Template css_styled_content. Ein Blick in die Typoscript-Dateien der Extension zeigt folgende Definition:
styles.content.get = CONTENT
styles.content.get {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
select.languageField = sys_language_uid
}
Es handelt sich also um ein CONTENT-Objekt, das Inhalte der Tabelle tt_content holt. Die where-Bedingung colPos=0 sorgt dafür, dass nur Inhalte erfasst werden, die im CMS für die Spalte „Normal“ eingetragen wurden.
Analog dazu stellt css_styled_content noch styles.content.getLeft, styles.content.getRight und styles.content.getBorder zur Verfügung, um Inhalte der anderen Spalten (Links, Rechts und Rand) zu holen.
Dieser Text ist dem Buch “TYPO3 – Das Praxisbuch für Entwickler” von Robert Steindl entnommen, das im Franzis-Verlag erschienen ist. Das Buch ist hier direkt bestellbar.


































