> ## Documentation Index
> Fetch the complete documentation index at: https://help.chatarmin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bedingte Darstellung von Variablen in Nachrichten und Kampagnen

> Chatarmin guide: 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:**

<img src="https://mintcdn.com/chatarmin-help-center/NyfZxeNHFMDFfmtq/images/d8868e59-4057-4645-b054-b1ffee0aae67/019b9c80-a9e5-762c-b5ce-ce163a48f7d4.png?fit=max&auto=format&n=NyfZxeNHFMDFfmtq&q=85&s=d02e3bcebe87731b0771b11ecba59070" alt="Chatarmin help center image" width="1024" height="604" data-path="images/d8868e59-4057-4645-b054-b1ffee0aae67/019b9c80-a9e5-762c-b5ce-ce163a48f7d4.png" />

**Unter „Kampagnen/Vorlagen“:**

<img src="https://mintcdn.com/chatarmin-help-center/NyfZxeNHFMDFfmtq/images/d8868e59-4057-4645-b054-b1ffee0aae67/019b9c80-aa2e-732e-8d72-115535de6563.png?fit=max&auto=format&n=NyfZxeNHFMDFfmtq&q=85&s=44db06d6eb778315b21a1625e4f64cee" alt="Chatarmin help center image" width="1024" height="665" data-path="images/d8868e59-4057-4645-b054-b1ffee0aae67/019b9c80-aa2e-732e-8d72-115535de6563.png" />

# 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:

```
#&#123;&#123;if contact.firstname contains 'dog' then 'Hundeliebhaber' else 'Katzenliebhaber'&#125;&#125;
```

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

### Verschiedene Arten von Bedingungen:

1. **enthält:**\
   Beispiel:`#&#123;&#123;if contact.firstname contains 'dog' then 'Hundeliebhaber' else 'Katzenliebhaber'&#125;&#125;`

2. **isTrue:**\
   Beispiel:`#&#123;&#123;if contact.dog isTrue then 'Hundeliebhaber' else 'Katzenliebhaber'&#125;&#125;`

3. **leer**z. B.\
   Beispiel:`#&#123;&#123;if apiPayload.food isEmpty then 'Kein Essen' else 'Noch Essen'&#125;&#125;`

4. **ist gleich**:\
   Beispiel:`#&#123;&#123;if contact.pet equals 'dog' then 'HUND' else 'KATZE'&#125;&#125;`

## For-Schleife / Darstellung einer Liste

Hier sieht die Syntax wie folgt aus:

```
#&#123;&#123;for item in contact.properties.items&#125;&#125;

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

#&#123;&#123;/each&#125;&#125;
```

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

```
#&#123;&#123;for item in contact.properties.items&#125;&#125;

  #&#123;&#123;wenn der Begriff „Hund“ enthält, dann „Hundeliebhaber“, sonst „Katzenliebhaber“&#125;&#125; 

#&#123;&#123;/each&#125;&#125;
```

## Auf Variablen zugreifen

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

<img src="https://mintcdn.com/chatarmin-help-center/NyfZxeNHFMDFfmtq/images/d8868e59-4057-4645-b054-b1ffee0aae67/019b9c80-aa2f-76ac-ad1d-35ceae5552c6.png?fit=max&auto=format&n=NyfZxeNHFMDFfmtq&q=85&s=4900dc2f78c47b6aa28f293c696329fa" alt="Chatarmin help center image" width="1024" height="646" data-path="images/d8868e59-4057-4645-b054-b1ffee0aae67/019b9c80-aa2f-76ac-ad1d-35ceae5552c6.png" />

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:

<img src="https://mintcdn.com/chatarmin-help-center/NyfZxeNHFMDFfmtq/images/d8868e59-4057-4645-b054-b1ffee0aae67/019b9c80-a9f1-724c-a9a9-83e105754cc1.png?fit=max&auto=format&n=NyfZxeNHFMDFfmtq&q=85&s=f7ccfe6cce24ea3e5e454749476f1a8b" alt="Chatarmin help center image" width="1024" height="488" data-path="images/d8868e59-4057-4645-b054-b1ffee0aae67/019b9c80-a9f1-724c-a9a9-83e105754cc1.png" />

# Beispiele

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

### Beispiel 1

```
TEXT:

#&#123;&#123;for item in contact.properties.items&#125;&#125;

 #&#123;&#123;item.quantity&#125;&#125; x #&#123;&#123;item.price&#125;&#125;

#&#123;&#123;/each&#125;&#125;
```

```
WANN:
contact.properties.items => [&#123;Anzahl:2, Preis: "50 €"&#125;]

AUSGABE:

2 x 50 €
```

### Beispiel 2

```
TEXT:

#&#123;&#123;wenn der Begriff „Hund“ enthält, dann „Hundeliebhaber“, sonst „Katzenliebhaber“&#125;&#125;
```

```
WANN:
Element => „Katzen“

AUSGABE:

Katzenliebhaber
```

### Beispiel 3

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

```
#&#123;&#123;if contact.isActive isTrue then "Aktiv" else #&#123;&#123;if contact.firstname contains 'cat' then 'Katzenliebhaber' else 'Inaktiv'&#125;&#125;&#125;&#125;
```
