Zum Inhalt springen
Marketing Factory Digital GmbH
Kontakt
Logo Marketing Factory Digital GmbH
  • Agentur
    • Aktuelles
    • Über uns
    • Geschichte
  • Leistungen
    • Beratung, Analyse und Strategie
    • Programmierung und Entwicklung
      • Schnittstellen
      • PIM-/ERP-Anbindungen
      • Individualentwicklungen
      • Seamless CMS Integration
    • Hosting und Betreuung
      • Cloud-Strategien
      • Hosting Partner der Marketing Factory
    • Leistungen mit Dritten
  • Technologie
    • TYPO3
      • Aktuelle TYPO3-Versionen
    • Shopware
    • IT-Sicherheit
      • DDoS-Protection
      • Continuous Upgrading
      • Privacy First
    • Tech Stack
      • Bekenntnis zu Open Source
      • Technologieauswahl
      • PHP-Ökosystem
      • Containerisierung & Clustering
      • Content Delivery Networks
      • Suchtechnologien
  • Referenzen
    • Projekte
    • Kunden
      • Kundenliste
    • Screenshot der Homepage der neuen Maxion Wheels WebsiteNEU: Relaunch der Corporate Website von Maxion Wheels
  • Community
    • Community-Initiativen
  • Blog
  • Kontakt
  • Deutsch
  • English

Sie sind here:

  1. Blog
  2. Einbindung der Static Templates über das TYPO3-Sitepackage
TYPO3 Logo
  • Development
  • TYPO3
  • Tutorial
26.02.2019 Letzte Aktualisierung: 16.01.2025

Einbindung der Static Templates über das TYPO3-Sitepackage


Zeige größere Version von: Static Includes im Template-Datensatz: lange Listen auf beiden Seiten

Was sind Static Templates in TYPO3?

Static Templates sind TypoScript-Dateien, die bestimmte Konfigurationen enthalten. Sie werden beispielsweise dazu verwendet, das Aussehen oder die Verhaltens­weise einer Extension in TYPO3 zu erweitern. Um diese Konfigurationen in TYPO3 zu integrieren, müssen sie über ein Template inkludiert werden.

In der Praxis sieht das Ganze dann meist in etwa so aus:

Dabei nicht durcheinander zu kommen ist beinahe unmöglich. Das Einbinden der Static Templates muss häufig in einer bestimmten Reihenfolge passieren, da die einzelnen Templates aufeinander aufbauen und entsprechend jeweils voneinander abhängig sind.

Alternative ab TYPO3 v13: Site Sets

Ergänzung 01/2025: Seit TYPO3 v13 gibt es das neue "Site Sets"-Feature. Über Site Sets lassen sich TypoScript, Page TSconfig und weitere Settings auf ganz neue Weise in einer Website einbinden. Die Zuweisung eines Site Sets erfolgt über die Site Configuration. Da dort die rootPageId definiert ist, erfolgt die Zuweisung zur Site automatisch. Der Template-Datensatz auf der Rootpage kann somit entfallen, die Static Includes werden nicht mehr benötigt.

Extensions können ebenfalls Site Sets bereitstellen, die ihr in eurer Konfigurationsdatei als Dependency ergänzen könnt. Falls einzelne Extensions noch keine Site Sets anbieten, könnt ihr deren TypoScript weiterhin auf dem unten beschriebenen Weg einbinden.

Wie Site Sets in der Praxis verwendet werden können, zeigt das offizielle TYPO3 Sitepackage Tutorial.

Wir empfehlen euch, neue Projekte direkt mit Site Sets einzurichten. Bestehende Projekte können auch nach dem Upgrade auf TYPO3 v13 jederzeit umgestellt werden.

Warum binden wir Static Templates über das Sitepackage ein und nicht über den Template-Datensatz in TYPO3?

Wir bei Marketing Factory arbeiten mit dem Versionierungs­system Git. Oft genug arbeiten mehrere Mitarbeiter gleichzeitig an demselben Projekt, aber in verschiedenen Branches.

Würde einer der Mitarbeiter nun eine Extension mit einem Static Template hinzufügen, so müsste jeder weitere Mitarbeiter – bei dem Wechsel in denselben Branch – ebenfalls in seiner lokalen Entwicklungs­umgebung die Static Templates anpassen. Gleiches würde auch passieren, wenn der Branch auf einem Test- oder Abnahmesystem ausgespielt wird und dort zuvor ein anderer Branch ausgespielt war.

Ergo: Unnötiger, mehrfacher Aufwand sowie erhöhter Dokumentationsbedarf.

Zeige größere Version von: TypoScript-Verzeichnisstruktur im Sitepackage

Wie binden wir Static Templates über das Sitepackage ein?

Änderung 01/2023: im ursprünglich erschienenen Blogbeitrag hatten wir die Includes in separaten TypoScript-Dateien geladen. Die neuen Beispiele zeigen unsere aktuelle Arbeitsweise. Die alte Include-Syntax von TYPO3 v8 haben wir aus diesem Tutorial entfernt.

In unserem Sitepackage werden die beiden Dateien constants.typoscript und setup.typoscript per addStaticFile() Methode bereitgestellt. Wie genau, entnehmt ihr der offiziellen TYPO3-Dokumentation.

Die Verzeichnisstruktur sieht – abhängig vom Projekt – in etwa wie folgt aus:

constants.typoscript

//
// Dependencies
// ------------------------------------------
@import 'EXT:bootstrap_package/Configuration/TypoScript/constants.typoscript'
@import 'EXT:blog/Configuration/TypoScript/Integration/constants.typoscript'
@import 'EXT:picturecredits/Configuration/TypoScript/constants.typoscript'
@import 'EXT:sg_cookie_optin/Configuration/TypoScript/Frontend/constants.typoscript'
@import 'EXT:bw_captcha/Configuration/TypoScript/constants.typoscript'
@import 'EXT:solr/Configuration/TypoScript/Solr/constants.typoscript'


//
// Project setup
// ------------------------------------------
@import 'EXT:project_sitepackage/Configuration/TypoScript/Constants/*.typoscript'

setup.typoscript

//
// Dependencies
// ------------------------------------------
@import 'EXT:bootstrap_package/Configuration/TypoScript/setup.typoscript'
@import 'EXT:blog/Configuration/TypoScript/Integration/setup.typoscript'
@import "EXT:typo3_encore/Configuration/TypoScript/setup.typoscript"
@import 'EXT:picturecredits/Configuration/TypoScript/setup.typoscript'
@import 'EXT:form_element_linked_checkbox/Configuration/TypoScript/setup.typoscript'
@import 'EXT:sg_cookie_optin/Configuration/TypoScript/Frontend/setup.typoscript'
@import 'EXT:bw_captcha/Configuration/TypoScript/setup.typoscript'
@import 'EXT:solr/Configuration/TypoScript/Solr/setup.typoscript'
@import 'EXT:yoast_seo/Configuration/TypoScript/setup.typoscript'


//
// Project setup
// ------------------------------------------
// Elements
@import 'EXT:project_sitepackage/Configuration/TypoScript/Elements/01_Configuration.typoscript'
@import 'EXT:project_sitepackage/Configuration/TypoScript/Elements/02_Plugin.typoscript'
@import 'EXT:project_sitepackage/Configuration/TypoScript/Elements/10_PageTemplate.typoscript'

// Content Elements
@import 'EXT:project_sitepackage/Configuration/TypoScript/ContentElements/Helper/*.typoscript'
@import 'EXT:project_sitepackage/Configuration/TypoScript/ContentElements/*.typoscript'

// Extensions
@import 'EXT:project_sitepackage/Configuration/TypoScript/Extensions/*.typoscript'

Sowohl bei den TypoScript-Constants als auch beim Setup binden wir zuerst alle Extensions ein, die im Projekt benötigt werden. Das können Third-Party-Extensions sein, aber z.B. auch projektspezifische Eigenentwicklungen.

Erst danach folgt die Einbindung der weiteren, individuellen Konfigurationen aus dem Sitepackage:

  • das Überschreiben der TS-Konstanten aus Third-Party-Extensions
  • projektspezifische Grundkonfigurationen
  • Konfigurationen eigener (Inhalts-)-Elemente
  • Anpassung oder Ergänzung von Extension-Konfigurationen
  • das PAGE-Setup (oder Overrides eines bestehenden PAGE-Objekts, wenn man Lösungen wie das Bootstrap Package verwendet)
Zeige größere Version von: Static Includes im Template-Datensatz: nur noch das Sitepackage wird eingebunden

Zum Schluss muss nur noch das Static Template des Sitepackage im Template-Datensatz von TYPO3 eingebunden werden.

Et voilá: Statt eine aufwendige, aufeinander aufbauende Reihenfolge abrattern zu müssen, können sämtliche Static Templates einfach in einem Schritt inkludiert werden.

Christian Hellmund
Blog als RSS-Feed abonnieren

Verwandte Beiträge

  • Anwenderfreundliche Individualisierungen des TYPO3-Backends
  • Container-Elemente sinnvoll erweitern
  • Automatische Updates in unseren Projekten
  • Relaunch der Website unseres Kunden Maxion Wheels auf Basis von TYPO3 12.4 LTS

Wir freuen uns, wenn Ihr diesen Beitrag teilt.


Kommentare

Bernd Sitzmann

13.01.2025, 13:48 Uhr

Vielen Dank für den interessanten Beitrag. Ist dieses Vorgehen auch unter Version 13 noch sinnvoll?

Antworten

Chris

14.01.2025, 08:23 Uhr

Hallo Bernd, vielen Dank für Deine Nachricht, bzw. Deine Frage, die ich gerne beantworte. Das hier beschriebene Vorgehen funktioniert grundsätzlich auch in Version 13. Seit TYPO3 Version 13 steht jedoch mit den Site Sets ein neuer Ansatz zur Verfügung. Mit diesem Ansatz kann man auf den Template-Datensatz ganz verzichten. Bei einem Upgrade-Projekt muss man nicht zwingend sofort auf Site sets umstellen, bei neuen Projekten würden wir diesem neuen Ansatz jedoch den Vorzug geben. Ich hoffe, das beantwortet Deine Frage. Viele Grüße, Chris

Antworten

Kommentar verfassen.

Ich bin darauf hingewiesen worden, dass die Verarbeitung meiner Daten auf freiwilliger Basis erfolgt und dass ich mein Einverständnis ohne für mich nachteilige Folgen verweigern bzw. jederzeit gegenüber der Marketing Factory Digital GmbH per Post (Marienstraße 14, D-40212 Düsseldorf) oder E-Mail (info@marketing-factory.de) widerrufen kann.

Mir ist bekannt, dass die oben angegebenen Daten so lange gespeichert werden, wie ich die Kontaktaufnahme durch Marketing Factory wünsche. Nach meinem Widerruf werden meine Daten gelöscht. Eine weitergehende Speicherung kann im Einzelfall erfolgen, wenn dies gesetzlich vorgeschrieben ist.

  • Datenschutzerklärung
  • Impressum

© Marketing Factory Digital GmbH

Bildnachweise
  1. "Static Includes im Template-Datensatz": © Urheber Marketing Factory Digital GmbH
  2. "Static Includes im Template-Datensatz: nur Sitepackage": © Urheber Marketing Factory Digital GmbH
  3. "TypoScript-Verzeichnisstruktur im Sitepackage": © Urheber Marketing Factory Digital GmbH
  4. "TYPO3 Logo": TYPO3 Association