Ausdrücke
Innerhalb von {{ ... }} können Sie nicht nur einen Wert einfügen, sondern auch rechnen, vergleichen oder Text abhängig von einer Bedingung wählen:
{{ $alter >= 18 ? "Willkommen!" : "Zugang ab 18 Jahren" }}
10 % Rabatt: {{ $preis * 0.9 }} €
{{ upper(first_name) ~ ", guten Tag!" }}
Woraus ein Ausdruck besteht
| Was | Schreibweise | Beispiel |
|---|---|---|
| Kontaktvariable | $name |
$stadt |
| Variable mit Leerzeichen im Namen | var("name") |
var("Name des Kunden") |
| Daten des Kontakts | Name ohne $ |
first_name, phone |
| Globale Variable | global("name") |
global("Kurs (USD)") |
| Text | in Anführungszeichen "..." oder '...' |
"Guten Tag" |
| Zahl | Ziffern, Nachkommastellen mit Punkt | 10, 0.9 |
| Wahrheitswert | true, false |
|
| Leerer Wert | null |
|
| Funktion | name(argumente) |
round($preis, 2) |
Innerhalb von Anführungszeichen wird nichts ersetzt: {{ "preis $a" }} gibt preis $a aus.
Rechnen
| Operator | Bedeutung | Beispiel | Ergebnis |
|---|---|---|---|
+ |
Addition | {{ 2 + 3 }} |
5 |
- |
Subtraktion | {{ 10 - 4 }} |
6 |
* |
Multiplikation | {{ 3 * 4 }} |
12 |
/ |
Division | {{ 10 / 4 }} |
2.5 |
% |
Rest einer Division | {{ 10 % 3 }} |
1 |
** |
Potenz | {{ 2 ** 10 }} |
1024 |
Klammern ändern die Reihenfolge: {{ ($preis + $lieferung) * 2 }}.
Dezimalzahlen werden ohne überflüssige Stellen ausgegeben: {{ 0.1 + 0.2 }} ergibt 0.3. Zum Runden verwenden Sie round, für die Ausgabe mit Trennzeichen number_format.
Vergleiche
| Operator | Bedeutung |
|---|---|
== |
gleich |
!= |
ungleich |
>, >= |
größer, größer oder gleich |
<, <= |
kleiner, kleiner oder gleich |
Stehen auf beiden Seiten Zahlen — auch als Text gespeicherte, wie Variablenwerte —, werden Zahlen verglichen: "10" > 9 ist wahr.
Ein Vergleich, der allein ausgegeben wird, ergibt true oder false: {{ $alter >= 18 }}.
Logik
| Operator | Bedeutung |
|---|---|
and oder && |
und |
or oder || |
oder |
not oder ! |
nicht |
{{ $alter >= 18 and $stadt == "Berlin" ? "Wir laden Sie ins Büro ein" : "Wir arbeiten online" }}
Bedingung
bedingung ? wenn_ja : wenn_nein — wählt eine von zwei Varianten:
{{ $punkte >= 100 ? "Ihnen steht ein Geschenk zu" : "Bis zum Geschenk fehlen noch " ~ (100 - $punkte) ~ " Punkte" }}
Die Kurzform wert ?: ersatz gibt den Wert aus, wenn er nicht leer ist, sonst den Ersatz:
Guten Tag, {{ first_name ?: "liebe Kundin, lieber Kunde" }}!
Ersatzwert für fehlende Daten
wert ?? ersatz — fehlt der Wert ganz (beim Kontakt ist keine Telefonnummer hinterlegt, die Variable ist nicht gefüllt), wird der Ersatz eingesetzt:
Telefon: {{ phone ?? "nicht angegeben" }}
Arbeit mit Text
| Operator | Bedeutung | Beispiel |
|---|---|---|
~ |
Text verbinden | {{ first_name ~ " " ~ last_name }} |
contains |
enthält | {{ $antwort contains "ja" ? "Prima!" : "Schade" }} |
starts with |
beginnt mit | {{ phone starts with "+49" ? "Deutschland" : "Anderes Land" }} |
ends with |
endet mit | {{ email ends with "@gmail.com" }} |
in |
ist in der Liste | {{ $stadt in ["Berlin", "Hamburg"] ? "Lieferung möglich" : "Selbstabholung" }} |
not in |
ist nicht in der Liste | {{ $tarif not in ["pro", "business"] }} |
contains, starts with und ends with unterscheiden Groß- und Kleinschreibung. Damit das keine Rolle spielt, bringen Sie den Text in eine Schreibweise: {{ lower($antwort) contains "ja" }}.
Funktionen in Ausdrücken
Funktionen lassen sich ineinander verschachteln und mit Operatoren kombinieren:
{{ capitalize(lower(var("Name des Kunden"))) }}
{{ round(($preis + $lieferung) * 0.9, 2) }}
{{ number_format(global("Kurs (USD)") * $summe, 2) }} €
Die Liste der Funktionen finden Sie in der Referenz.
Was nicht geht
In Ausdrücken gibt es keine Schleifen, keine Zuweisungen und keinen Zugriff auf interne Daten der Plattform — nur Operatoren und Funktionen aus der Referenz. Mehr zu den Grenzen unter Fehler und Grenzen.