In diesem Artikel erfahren Sie, wie Sie bedingte Logik mit Twig nutzen können, um Ihre Landingpages, E-Mails und Tickets dynamisch zu personalisieren.
WAS IST BEDINGTE LOGIK?
Bedingte Logik trifft Entscheidungen basierend auf bestimmten Bedingungen. Wir alle verwenden bedingte Logik in unserem täglichen Leben, zum Beispiel:
- Falls es draußen kalt ist → tragen Sie einen Mantel
- Falls der Gast ein VIP ist → kostet der Mantel 5€
Um eine solche Bedingung in einer Vorlage (E-Mail oder PDF-Ticket) umzusetzen, verwenden Sie die Twig-Syntax mit geschweiften Klammern und Prozentzeichen:
|
{% if bedingung %} ... Ihr Inhalt ... {% endif %} |
Der Öffnungs-Tag enthält if gefolgt von der Bedingung, der Schließungs-Tag endif beendet den Block. Das Wetter-Beispiel sieht dann so aus:
|
{% if guest.extendedfields.wetter == 'kalt' %} Tragen Sie einen Mantel. {% endif %} |
VARIABLEN UND WERTE
Im Beispiel „Falls der Gast ein VIP ist“ ist VIP der Titel der Variablen. Die eigentliche Variable kann z. B. contact.extended_fields.vip_level sein. Entscheidend ist der gespeicherte Wert. Dieser kann ja / nein, wahr / falsch oder 1 / 0 sein.
Das vollständige Beispiel:
|
{% if contact.extended_fields.vip_level == "ja" %} Der Mantel kostet 5€. {% endif %} |
VERGLEICHSOPERATOREN
Mit Vergleichsoperatoren prüfen Sie Werte gegeneinander. Hier die vollständige Übersicht:
| Operator | Symbol | Beschreibung |
| Gleich | == | Wenn der Wert gleich ist |
| Nicht gleich | != | Wenn der Wert ungleich ist |
| Kleiner als | < | Wahr, wenn links kleiner als rechts ist |
| Größer als | > | Wahr, wenn links größer als rechts ist |
| Kleiner oder gleich | <= | Wahr, wenn links kleiner oder gleich rechts ist |
| Größer oder gleich | >= | Wahr, wenn links größer oder gleich rechts ist |
Beispiele in E-Mail-Vorlagen
|
{% if contact.sex == 'female' %} Ms.{{ contact.last_name }}{% endif %} {% if contact.language == 'EN' %} English content here {% endif %} |
Leere Werte prüfen
Zwei einfache Anführungszeichen '' oder doppelte Anführungszeichen "" stellen einen leeren Wert dar. Alternativ können Sie is not empty verwenden:
| {% if contact.title != '' %}{{ contact.title }} {% endif %} |
| {% if contact.title is not empty %}{{ contact.title }} {% endif %} |
| Hinweis: Beide Schreibweisen sind gleichwertig. Verwenden Sie die Variante, die für Sie besser lesbar ist. |
LOGISCHE OPERATOREN
Logische Operatoren kombinieren mehrere Bedingungen und liefern einen einzelnen booleschen Ausgang (wahr oder falsch). Die zwei Operatoren sind and und or.
| Operator | Beschreibung |
| and | Gibt wahr zurück, wenn beide Seiten wahr sind |
| or | Gibt wahr zurück, wenn mindestens eine Seite wahr ist |
Beispiel: and-Operator
| Name | Unterkunft | Shuttle |
| Devon | ja | ja |
| Nolan | nein | nein |
| Misha | nein | ja |
|
{% if contact.extended_fields.unterkunft == 'ja' and contact.extended_fields.shuttle == 'ja' %} Zeige einen bestimmten Inhalt {% endif %} |
| HINWEIS: Nur Devon sieht den Inhalt, da nur bei ihr beide Werte auf „ja“ stehen. |
Beispiel: or-Operator
| Name | Position |
| Devon | CEO |
| Nolan | CFO |
| Misha | (leer) |
|
{% if contact.extended_fields.position == 'CEO' or contact.extended_fields.position == 'CFO' %} Zeige einen bestimmten Inhalt {% endif %} |
| HINWEIS: Devon und Nolan sehen den Inhalt. Misha nicht, da der Wert leer ist. |
ERWEITERTE BEDINGUNGEN: ELSE UND ELSEIF
Bisher haben Sie nur „Tue etwas, wenn die Bedingung erfüllt ist“ gesehen. Mit else und elseif können Sie auch Alternativen definieren.
if / else
| {% if contact.sex == 'female' %}Mrs. {% else %}Mr.{% endif %} |
| Achtung: Wenn contact.sex leer ist, wird trotzdem „Mr.“ angezeigt, da else alle anderen Fälle abfängt. |
if / elseif
| {% if contact.sex == 'female' %}Mrs.{% elseif contact.sex == 'male' %}Mr.{% endif %} |
| Hinweis: Ist der Wert weder „female“ noch „male“, wird nichts angezeigt. |
if / elseif / else (empfohlen)
Die beste Lösung kombiniert alle drei Varianten und deckt jeden Fall ab:
| {% if contact.sex == 'female' %}Sehr geehrte Frau {% elseif contact.sex == 'male' %}Sehr geehrter Herr {% else %}Sehr geehrte(r) Frau/Herr {% endif %}{{ contact.last_name }}, |
TEMPLATES ZUM KOPIEREN
Die folgenden Vorlagen können Sie direkt übernehmen.
Personalisierte Anreden auf Landingpage oder in den E-Mail Templates:
Liebe / Lieber / Liebe(r) (DE)
| {% if contact.sex == 'female' %}Liebe {{contact.first_name }}{% elseif contact.sex == 'male' %}Lieber {{contact.first_name}}{% else %}Liebe(r) {{contact.first_name}}{% endif %}, |
Liebe Frau / Lieber Herr / Liebe(r) Vorname Nachname (DE)
| {% if contact.sex == 'female' %}Liebe Frau {{contact.last_name}}{% elseif contact.sex == 'male' %}Lieber Herr {{contact.last_name}}{% else %}Liebe(r) {{contact.first_name}} {{contact.last_name}}{% endif %}, |
Sehr geehrte(r) Frau / Herr mit Titel (DE)
| {% if contact.sex == 'female' %}Sehr geehrte Frau {% if contact.title != '' %}{{contact.title}}{% endif %} {{contact.last_name}}{% elseif contact.sex == 'male' %}Sehr geehrter Herr {% if contact.title != '' %}{{ contact.title}} {% endif %}{{contact.last_name}}{% else %}Sehr geehrte(r) {% if contact.title != '' %} {{contact.title}} {% endif %}{{contact.full_name}}{% endif %}, |
Personalised salutations on landing pages or in email templates:
Dear first name (EN)
| Dear {{contact.first_name}}, |
Dear Ms / Mr last name (EN)
| Dear {% if contact.sex == 'female' %}Ms {% elseif contact.sex == 'male' %}Mr {% else %}Ms/Mr {% endif %}{{contact.last_name}}, |
Dear title last name (EN)
| Dear {% if contact.title != '' %}{{ contact.title }} {% else %}{% if contact.sex == 'female' %}Ms {% elseif contact.sex == 'male' %}Mr {% else %}Ms/Mr {% endif %}{% endif %}{{ contact.last_name }}, |
| Tipp: Testen Sie Ihre Vorlagen mit verschiedenen Kontaktdaten, um sicherzustellen, dass alle Fälle (männlich, weiblich, divers) korrekt abgedeckt sind. |
Bei Fragen steht Ihnen unser Customer Service Team jederzeit zur Verfügung.