Mit TWIG kannst du Inhalte in Aivie Themes dynamisch aufbauen, Werte formatieren, Berechnungen durchführen und Bedingungen verwenden. TWIG kommt insbesondere in den Template Dateien für E-Mails, Landing Pages, Formulare und Systemmeldungen zum Einsatz.
Wie funktioniert ein TWIG Filter?
Ein Filter wird mit einem senkrechten Strich an einen Wert angehängt:
{{ value|filter }}
Zum Beispiel:
{{ firstname|default('Guten Tag') }}
{{ title|upper }}
Mehrere Filter können miteinander kombiniert werden:
{{ title|trim|upper }}
Text bearbeiten
Für Texte stehen unter anderem folgende Filter zur Verfügung:
| Filter | Verwendung |
|---|---|
upper | Text in Grossbuchstaben umwandeln |
lower | Text in Kleinbuchstaben umwandeln |
title | Wörter mit Grossbuchstaben beginnen |
capitalize | Den ersten Buchstaben gross schreiben |
trim | Leerzeichen am Anfang und Ende entfernen |
replace | Text ersetzen |
striptags | HTML Tags entfernen |
nl2br | Zeilenumbrüche in HTML umwandeln |
length | Anzahl Zeichen oder Elemente bestimmen |
default | Einen Ersatzwert verwenden, wenn kein Wert vorhanden ist |
Beispiel:
{{ company|default('deinem Unternehmen')|trim }}
Zahlen formatieren und Berechnungen durchführen
Twig unterstützt die normalen Rechenoperatoren:
{{ a + b }}
{{ a - b }}
{{ a * b }}
{{ a / b }}
{{ a // b }}
{{ a % b }}
{{ a ** b }}
Zusätzlich sind folgende Filter und Funktionen hilfreich:
| Filter oder Funktion | Verwendung |
|---|---|
int | Einen Wert in eine ganze Zahl umwandeln |
abs | Den Absolutwert bestimmen |
round | Eine Zahl runden |
number_format | Eine Zahl für die Ausgabe formatieren |
min() | Den kleinsten Wert bestimmen |
max() | Den grössten Wert bestimmen |
Beispiel mit Schweizer Zahlenformat:
{{ (price|int * quantity|int)|number_format(2, '.', "'") }}
Eine Zahl kannst du so runden:
{{ value|round(2) }}
{{ value|round(0, 'ceil') }}
{{ value|round(0, 'floor') }}
Datumswerte verwenden
Mit date und date_modify kannst du Datumswerte formatieren oder verändern:
{{ "now"|date("d.m.Y") }}
{{ dateValue|date("d.m.Y") }}
{{ dateValue|date_modify("+30 days")|date("d.m.Y") }}
Listen und Arrays verarbeiten
Für Listen stehen unter anderem diese Filter zur Verfügung:
| Filter | Verwendung |
|---|---|
first | Erstes Element ausgeben |
last | Letztes Element ausgeben |
join | Elemente zu einem Text verbinden |
split | Einen Text in Elemente aufteilen |
keys | Schlüssel eines Arrays ausgeben |
merge | Listen oder Arrays zusammenführen |
slice | Einen Ausschnitt verwenden |
sort | Elemente sortieren |
reverse | Reihenfolge umkehren |
batch | Elemente in Gruppen aufteilen |
Beispiel:
{{ tags|join(', ') }}
Bedingungen und Schleifen verwenden
Mit Bedingungen kannst du Inhalte abhängig von einem Wert anzeigen:
{% if points|int >= 100 %}
Du hast mindestens 100 Punkte erreicht.
{% else %}
Dir fehlen noch einige Punkte.
{% endif %}
Listen kannst du mit einer Schleife ausgeben:
{% for item in items %}
{{ item }}
{% endfor %}
Auch eine Summe lässt sich sicher mit einer Schleife berechnen:
{% set total = 0 %}
{% for value in values %}
{% set total = total + (value|int) %}
{% endfor %}
{{ total|number_format(2, '.', "'") }}
Einige Funktionen sind aus Sicherheitsgründen gesperrt
Einige Filter können ausführbare Funktionen als Argument entgegennehmen. Aivie sperrt sie deshalb, um zu verhindern, dass unerlaubter Programmcode ausführt wird. Zum Beispiel:
mapfilterreduce
Ebenfalls gesperrt sind Funktionen, die auf die Systemkonfiguration, Datenbank, Dateien oder interne PHP Funktionen zugreifen könnten.
Falls du eine bestimmte Berechnung oder Datenumwandlung benötigst, die mit den verfügbaren Möglichkeiten nicht umsetzbar ist, kontaktiere uns. Wir prüfen dann, ob dafür ein sicherer, klar begrenzter Filter ergänzt werden kann.
Wichtig: Nicht jedes Textfeld im Aivie Editor verarbeitet TWIG. Für die normale Personalisierung von E-Mails verwendest du weiterhin die verfügbaren Aivie beziehungsweise Mautic Tokens.
Kurz gesagt
Aivie unterstützt die üblichen TWIG Funktionen für Texte, Zahlen, Daten, Listen, Bedingungen und Schleifen. Gefährliche Funktionen und Filter mit frei ausführbaren Callbacks sind in hochgeladenen Themes aus Sicherheitsgründen gesperrt.
Weitere Informationen findest du auf der Website von TWIG.

