Zum Inhalt springen

Twig

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 19.10.2026

Twig ist die Template-Sprache, mit der in TYPO3, Symfony und Craft aus Inhalten Seiten werden.

Twig

Eine Template-Sprache für PHP, die Platzhalter in geschweiften Klammern einsetzt und Logik bewusst nur begrenzt zulässt.
Beispiel: „Die Vorlage ist in Twig geschrieben, deshalb steht die Preisberechnung nicht darin.“

Herkunft: englisch twig, der Zweig. Der Name spielt auf die Baumstruktur eines Dokuments an und passt zu Symfony, dessen Logo ebenfalls aus der Natur stammt.

Zwei Arten von Klammern

Doppelte geschweifte Klammern geben einen Wert aus. Klammer mit Prozentzeichen steuert den Ablauf, also Schleifen und Bedingungen. Diese Trennung macht beim Lesen sofort klar, wo etwas erscheint und wo entschieden wird.

Dazu kommen Filter hinter einem senkrechten Strich, die einen Wert umformen: Groß- und Kleinschreibung, Datumsformat, Kürzen auf eine Länge. Sie sind der Grund, warum in Twig-Vorlagen selten gerechnet werden muss.

{% for produkt in produkte %}
  <article>
    <h2>{{ produkt.titel|upper }}</h2>
    {% if produkt.bestand > 0 %}
      <p>Lieferbar</p>
    {% endif %}
  </article>
{% endfor %}

Dass es automatisch maskiert

Twig ersetzt in ausgegebenen Werten die Zeichen, die in HTML eine Bedeutung haben. Damit kann aus einem Redaktionstext kein Markup werden, und der häufigste Angriff über eingeschleuste Skripte läuft ins Leere.

Das ist eine der wichtigsten Eigenschaften einer Template-Sprache überhaupt. Wer sie abschaltet, um bewusst Markup auszugeben, sollte genau wissen, woher dieser Inhalt kommt.

Wo es eingesetzt wird

In Symfony, woraus es stammt, in Craft CMS, in Drupal und in neueren TYPO3-Erweiterungen. TYPO3 selbst bringt mit Fluid eine eigene Template-Sprache mit, die demselben Gedanken folgt und anders aussieht.

Siehe auch:

Template-Sprache (Template Engine)

Setzt Inhalte in eine Vorlage ein und kann bewusst wenig mehr.

#Programmiersprachen

PHP

Die Programmiersprache, in der die meisten Websites auf dem Server laufen.

#Programmiersprachen

HTML

Die Sprache, in der der Aufbau einer Webseite beschrieben wird.

#Frontend-Entwicklung (HTML, CSS, JavaScript)

Antlers (Statamic)

Die Template-Sprache von Statamic, die Inhalte aus dem Redaktionssystem in die Seite setzt.

#Programmiersprachen

Blade

Die Template-Sprache von Laravel, in der auch gewöhnliches PHP stehen darf.

#Programmiersprachen