Zum Hauptinhalt springen
Logo Marketing Factory Consulting GmbH
Kontakt
Logo Marketing Factory Consulting GmbH
  • Agentur
    • Unsere Arbeitsweise
      • Team Sphinx
      • Team Phoenix
    • Aktuelles
    • Über uns
    • Geschichte
    • Offene Stellen bei MFC
  • Leistungen
    • Beratung, Analyse und Strategie
    • Programmierung und Entwicklung
      • Schnittstellen
      • PIM-/ERP-Anbindungen
      • Individualentwicklungen
      • Seamless CMS Integration
    • Hosting und Betreuung
      • Betrieb auf unserer Colocation-Hardware
      • Cloud-Strategien
    • Leistungen mit Dritten
  • Technologie
    • TYPO3
    • 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
    • Neu: Launch des Westfalia Shopware 6 Shops
  • Community
    • Community-Initiativen
    • Aktuelles aus der MFC
  • Blog
  • Karriere
    • Stellenangebote
      • TYPO3-Entwickler (m/w/d)
      • Backend-Entwickler (m/w/d)
      • Systemadministrator Linux (m/w/d)
      • Projektmanager (m/w/d)
    • Praktika
      • Praktikum TYPO3-/CMS-Entwicklung (m/w/d)
      • Praktikum Systemadministration (m/w/d)
      • Dreiwöchiges Schülerpraktikum in Digitalagentur
  • Kontakt
  • Deutsch
  • English

Sie sind hier:

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

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.

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

Wir bei MFC 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 CONFIG ####
########################
@import 'EXT:mfc_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 CONFIG ####
########################
// Elements
@import 'EXT:mfc_sitepackage/Configuration/TypoScript/Elements/01_Configuration.typoscript'
@import 'EXT:mfc_sitepackage/Configuration/TypoScript/Elements/02_Plugin.typoscript'
@import 'EXT:mfc_sitepackage/Configuration/TypoScript/Elements/10_PageTemplate.typoscript'

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

// Extensions
@import 'EXT:mfc_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

  • Container-Elemente sinnvoll erweitern
  • Automatische Updates in unseren Projekten
  • TYPO3 und SAP Customer Data Cloud
  • Marketing Factory goes TYPO3 Version 11

Wir freuen uns, wenn Ihr diesen Beitrag teilt.


Kommentare

Keine Kommentare gefunden.

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 Consulting 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 ist TYPO3 Solution Partner
  • Marketing Factory ist Gold-Mitglied der TYPO3 Association
  • Marketing Factory ist Shopware Business Partner
    Bildnachweise
    1. "Static Includes im Template-Datensatz": © Marketing Factory Consulting GmbH
    2. "Static Includes im Template-Datensatz: nur Sitepackage": © Marketing Factory Consulting GmbH
    3. "TypoScript-Verzeichnisstruktur im Sitepackage": © Marketing Factory Consulting GmbH
    4. "TYPO3 Logo": TYPO3 Association