Zusammensetzen aller Teilelemente in TYPO3
Alle erwähnten Elemente wurden bei der bisherigen Betrachtung in temporären Objekten abgelegt, die in dieser Form nirgends darstellbar sind. Es ist erforderlich, die einzelnen Teile an ihre zugewiesenen Positionen im Layout zu bringen, indem die dafür vorgesehenen Subparts des Templates mit Inhalt gefüllt werden. Den Abschluss bildet das Einfügen des Standard-PAGE-Objektes, welches die Template-Daten zugewiesen bekommt, und für die eigentliche Seitenanzeige zuständig ist.
Constants:
PAGE_TARGET =
Durch diese Konstantenzuweisung wird garantiert, dass alle seiteninternen Links von TYPO3 in demselben aktiven Fenster angezeigt werden.
Setup:
# Main TEMPLATE cObject für den BODY
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
# Das Template cObject referenziert den Inhalt des Auto-Parsers
template =< plugin.tx_automaketemplate_pi1
# Nur der Inhalt zwischen den <body>-TAGS der Vorlage wird beachtet
workOnSubpart = DOCUMENT_BODY
# Ersetze den ###mainnavi### subpart mit der dynamischen Hauptnavigation
subparts.mainnavi < temp.menu_main
# Ersetze den ###headerimage### subpart mit dem Bild aus der Spalte LINKS
subparts.headerimage < styles.content.getLeft
# Ersetze den ###content### subpart mit dem Inhalt der Spalte NORMAL
subparts.content < styles.content.get
# Ersetze den ###locator### subpart mit der Pfadanzeige
subparts.locator < temp.locator
# Ersetze den ###metanavi### subpart mit der Metanavigation für den Seitenkopf
subparts.metanavi < temp.menu_meta
# Ersetze den ###footer### subpart mit der Metanavigation für die Fußzeile
subparts.footer < temp.menu_footer
# Ersetze den ###lightblue_bottom_border### subparts mit den Links Print & Oben
subparts.lightblue_bottom_border < temp.printversion
}
# Head TEMPLATE cObject für den HEAD
temp.headTemplate = TEMPLATE
temp.headTemplate {
# Das Template cObject referenziert den Inhalt des Auto-Parsers
template =< plugin.tx_automaketemplate_pi1
# Nur der Inhalt zwischen den <head>-TAGS der Vorlage wird beachtet
workOnSubpart = DOCUMENT_HEADER
}
# Standard PAGE object
page = PAGE
page.typeNum = 0
# <body>-TAG wird ohne jegliche Angaben gelassen
page.bodyTag = <body>
page.config.language = de
page.config.locale_all = de_DE
# Kopiere den Inhalt aus mainTemplate für den <body>-Bereich in die Seite
page.10 < temp.mainTemplate
# Kopiere den Inhalt aus headTemplate für den <head>-Bereich in den HEAD
page.headerData.10 < temp.headTemplate
Das TypoScript-Listing des abschließenden Setups, welches für das Zusammensetzen und die letztenendliche Generierung der Frontend-Seite zuständig ist, gestaltet sich auf den ersten Blick relativ umfangreich, ist jedoch schnell und einfach nachvollziehbar.
Ein neues TEMPLATE-Objekt mit der Bezeichnung „mainTemplate“ wird angelegt, welches den Inhalt des Auto-parsers, also die XHTML-Designvorlage, referenziert. Lediglich der Be-reich der Vorlage zwischen den Body-Tags wird berücksichtigt. Es wird anschließend begon-nen, die zuvor temporär gespeicherten Elemente (Navigation, Stimmungsbild, Content, Pfadanzeige etc.) in ihre vorgesehene Position (durch Subparts markiert) im Layout einzu-fügen. Derselbe Vorgang wird für den Head-Bereich ebenfalls durchgeführt. Um die Seite nun endgültig darstellbar zu gestalten, benötigt TYPO3 ein PAGE-Objekt, welches in diesem Setup die Bezeichnung „page“ erhält. Der Standardseitentyp wird zugewiesen (typeNum = 0) und der Body-Tag ohne weitere Auszeichnungen gesetzt (TYPO3 erzeugt sonst standard-mäßig eine Seite mit weißem Hintergrund). Die folgenden zwei Zeilen konfigurieren die deutsche Sprachversion des Auftritts. Anschließend wird der Inhalt aus der Variable „mainTemplate“ (die zuvor erschaffenen Seitenelemente) in den Datenteil des darzustel-lenden PAGE-Objektes kopiert. Die Header-Angaben aus „headTemplate“ werden in den Head-Bereich von „page“ eingefügt.
Das Template ist somit vollständig und kann die XHTML-Seite für die Frontend-Darstellung generieren. Alle dynamischen Bereiche wurden durch ihre entsprechenden Elemente substituiert und ergeben mit den statischen Teilen das Gesamterscheinungsbild.
Schlagworte: cms, cObject, mbt, modern template building, template, template-erstellung, typo3