Welche TWIG Funktionen und -Filter unterstützt Aivie?

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:

FilterVerwendung
upperText in Grossbuchstaben umwandeln
lowerText in Kleinbuchstaben umwandeln
titleWörter mit Grossbuchstaben beginnen
capitalizeDen ersten Buchstaben gross schreiben
trimLeerzeichen am Anfang und Ende entfernen
replaceText ersetzen
striptagsHTML Tags entfernen
nl2brZeilenumbrüche in HTML umwandeln
lengthAnzahl Zeichen oder Elemente bestimmen
defaultEinen 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 FunktionVerwendung
intEinen Wert in eine ganze Zahl umwandeln
absDen Absolutwert bestimmen
roundEine Zahl runden
number_formatEine 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:

FilterVerwendung
firstErstes Element ausgeben
lastLetztes Element ausgeben
joinElemente zu einem Text verbinden
splitEinen Text in Elemente aufteilen
keysSchlüssel eines Arrays ausgeben
mergeListen oder Arrays zusammenführen
sliceEinen Ausschnitt verwenden
sortElemente sortieren
reverseReihenfolge umkehren
batchElemente 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:

  • map
  • filter
  • reduce

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.

Warum werden mehrere Bilder auf Mobile untereinander oder zu breit dargestellt?

Ich habe in einer E-Mail mehrere Bilder (z. B. 3 Marken- oder Produktlogos) nebeneinander platziert.
Auf dem Desktop stimmt das Layout, auf dem Smartphone werden die Bilder jedoch untereinander angezeigt oder die Spalten sind sehr breit, obwohl die Bilder selbst klein sind. Woran liegt das – und wie kann man das steuern? Es ist wichtig, die Herausforderungen zu verstehen, die mit mehreren Bildern auf Mobile verbunden sind.

Weiterlesen “Warum werden mehrere Bilder auf Mobile untereinander oder zu breit dargestellt?”

Was passiert, wenn eine personalisierte E-Mail versendet wird, aber der Kontakt nur mit der E-Mailadresse hinterlegt ist?

Wenn eine personalisierte E-Mail (z.B. Ansprache mit Vorname) versendet wird und der Kontakt nur mit der E-Mailadresse im Aivie hinterlegt ist, bleiben die Platzhalter für die fehlenden Daten, wie Vorname oder Nachname, leer. Das führt zu einer unvollständigen Ansprache, z. B. „Hallo ,“ anstelle von „Hallo Adrian,“.

Weiterlesen “Was passiert, wenn eine personalisierte E-Mail versendet wird, aber der Kontakt nur mit der E-Mailadresse hinterlegt ist?”

Haben die E-Mails keine gültigen Links zum Abmelden und um die Einstellungen zu aktualisieren?

Hat dein Newsletter keine gültigen Abmelde-Links? Sind deine Links im E-Mail zum Abmelden und um die Einstellungen zu aktualisieren ungültig? Das liegt daran, dass in der Vorschau der E-Mails die Links zum “Abmelden” und um die “Einstellungen aktualisieren” nicht angezeigt werden.

Weiterlesen “Haben die E-Mails keine gültigen Links zum Abmelden und um die Einstellungen zu aktualisieren?”

Wie kann ich eine E-Mail oder ein Newsletter innerhalb eines bestimmten Zeitraums versenden?

Diese Funktion eignet sich super für z.B. Newsletter, Webinare, Spezialaktionen oder Event-Einladungen. Stell dir vor, du möchtest, dass alle deine Kontakte in den ersten drei Wochen des Monats deinen Monats-Newsletter erhalten. Sowohl bestehende als auch solche, die sich neu für den Newsletter anmelden.

Weiterlesen “Wie kann ich eine E-Mail oder ein Newsletter innerhalb eines bestimmten Zeitraums versenden?”