Back

Bedingte Darstellung von Variablen in Nachrichten und Kampagnen

Willkommen beim Leitfaden zur Template-Engine. Dieses Dokument soll Ihnen helfen, die Verwendung unserer Template-Engine zur dynamischen Erstellung von Inhalten zu verstehen. Die Template-Engine unterstützt verschiedene bedingte Anweisungen und Schleifen, mit denen Sie Ihre Vorlagen effektiv anpassen können.

Wo kann man das einsetzen?

In Flow-Meldungen:

Unter „Kampagnen/Vorlagen“:

Syntax

Derzeit gibt es zwei Möglichkeiten, das bedingte Rendering zu nutzen:

  • If/Else-Rendering

  • For-Schleife / Darstellung einer Liste

If/Else-Rendering

Die Syntax dafür sieht folgendermaßen aus:

#{{if contact.firstname contains 'dog' then 'Hundeliebhaber' else 'Katzenliebhaber'}}

Die Struktur würde also wie folgt aussehen:wenn <Variable> <Bedingung>, dann '<Text>', sonst '<Text>'

Verschiedene Arten von Bedingungen:

  1. enthält:
    Beispiel: #{{if contact.firstname contains 'dog' then 'Hundeliebhaber' else 'Katzenliebhaber'}}

  2. isTrue:
    Beispiel: #{{if contact.dog isTrue then 'Hundeliebhaber' else 'Katzenliebhaber'}}

  3. leerz. B.
    Beispiel:#{{if apiPayload.food isEmpty then 'Kein Essen' else 'Noch Essen'}}

  4. ist gleich:
    Beispiel:#{{if contact.pet equals 'dog' then 'HUND' else 'KATZE'}}


For-Schleife / Darstellung einer Liste

Hier sieht die Syntax wie folgt aus:

#{{for item in contact.properties.items}}

 <!-- Inhalt, der für jedes Element wiederholt werden soll -->

#{{/each}}

Hier könnte ich beispielsweise auch die obige if/else-Anweisung innerhalb der For-Schleife kombinieren:

#{{for item in contact.properties.items}}

  #{{wenn der Begriff „Hund“ enthält, dann „Hundeliebhaber“, sonst „Katzenliebhaber“}} 

#{{/each}}

Auf Variablen zugreifen

Beim Festlegen von Variablen über das Dropdown-Menü in Kampagnen:

Hier sehen Sie, auf welche Eigenschaften Sie genau zugreifen können.

In den „normalen Nachrichten“ eines Flows werden sie angezeigt, wenn du „@“ in das Textfeld eingibst:


Beispiele

Hier sind einige Beispiele und ihre Ergebnisse, damit du dir ein Bild davon machen kannst:

Beispiel 1

TEXT:

#{{for item in contact.properties.items}}

 #{{item.quantity}} x #{{item.price}}

#{{/each}}
WANN:
contact.properties.items => [{Anzahl:2, Preis: "50 €"}]

AUSGABE:

2 x 50 €


Beispiel 2

TEXT:

#{{wenn der Begriff „Hund“ enthält, dann „Hundeliebhaber“, sonst „Katzenliebhaber“}}
WANN:
Element => „Katzen“

AUSGABE:

Katzenliebhaber

Beispiel 3

Du kannst auch verschachtelte bzw. mehrere if/else-Anweisungen verwenden:

#{{if contact.isActive isTrue then "Aktiv" else #{{if contact.firstname contains 'cat' then 'Katzenliebhaber' else 'Inaktiv'}}}}