Der gesamte Abschnitt behandelt die Verwendung von Twig-Templates in Contao ab Version 5.0.
In Contao können Twig-Templates zwar seit Version 4.12 genutzt werden, aber erst seit Contao 5.0 werden Twig-Templates
auch im Contao-Core verwendet. Es wurde darauf verzichtet, die abweichende Verwendung von Twig-Templates in älteren
Versionen im Handbuch zu dokumentieren.
Twig ist eine Template Engine für PHP und die Standard Template Engine von Symfony. Sie ist schnell, sicher und leicht
erweiterbar.
Mit Twig-Templates kann das Design von der Programmierung strikt getrennt werden.
Wie ein PHP-Template wird ein Twig-Template für die Ausgabe eines Moduls, Inhaltselements, Formulars oder einer anderen Komponente verwendet.
In Twig-Templates wird konsequent auf die leistungsstarken Methoden zur Strukturierung und Wiederverwendung von
Vorlagen gesetzt, wie
z. B. Erweitern,
Einfügen,
Einbetten,
horizontale Wiederverwendung oder
Makros.
Deshalb sollten keine Templates mehr komplett überschrieben werden, wie das bei den PHP-Templates häufig üblich bzw.
notwendig war.
Wir werden innerhalb des Handbuches nur die wichtigste Technik - das Erweitern von Twig-Templates für Contao genauer
behandeln.
Weitergehende Informationen zu Twig-Templates in Contao findest du in der
Entwicklerdokumentation.
In Contao 5 werden für viele Core-Elemente Twig-Templates zur Verfügung gestellt. Das bedeutet, dass Template
Anpassungen auch in den Twig-Templates erfolgen müssen.
Für eine Übergangszeit kann noch auf die PHP-Templates zurückgegriffen werden. Die notwendigen Einstellungen
dafür findest du in der Upgrade-Anleitung.
Wir empfehlen dringend diese Möglichkeit nur in Ausnahmefällen zu nutzen, z. B. um nach einem Upgrade auf
Contao 5 mehr Zeit für die notwendigen Anpassungen zu haben.
Bedenke dabei auch, dass Erweiterungen für Contao 5 unter Umständen keine Möglichkeiten mehr zur Nutzung von
PHP-Templates mitbringen.
Derzeit steht noch nicht für jedes Modul/Inhaltselement ein Twig-Template zur Verfügung. In diesen Fällen werden weiterhin die bisherigen (PHP/Legacy) Templates herangezogen.
Twig-Templates haben die Dateiendung .twig
. Zusätzlich wird noch der Ausgabetyp angegeben.
Für eine Ausgabe von HTML wird die Dateiendung html.twig
verwendet.