Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt

Use this file to discover all available pages before exploring further.

Man unterscheidet folgende Basisdatentypen:

String

Ein String ist eine Zeichenkette, d. h. eine Folge von Zeichen (z. B. Buchstaben, Ziffern, Sonderzeichen und Steuerzeichen). Strings müssen immer zwischen zwei Hochkommas oder Anführungszeichen notiert werden.
"Wert1, Wert2, Wert3, Wert4"String
'Wert1, Wert2, Wert3, Wert4'String
Wert1, Wert2, Wert3, Wert4kein String (Anführungszeichen fehlen)

Konkatenation

Mit dem +-Operator ist es möglich mehrere Strings zusammenzustellen. In diesem Beispiel erstellen wir Variablen für eine Begrüßung und stellen wir zusammen.
{{ var $greeting = "Willkommen " }}
{{ var $customer = "Neukunde"}}
{{ var $genericGreeting= $greeting + $customer}} 
{{= $genericGreeting}} // Wilkommen Neukunde
Nur Strings können konkateniert werden. Dennoch ist es möglich andere Variablen in ein String zu konvertieren um sie mit einem String zu konkatenieren.
{{ var $menge = 1}}
{{ var $text = "Anzahl: " + string($menge) + "!" }}
{{= $text}} // Anzahl: 1!
Es können andere Basistypen in String konvertiert werden:
Boolean: {{= string(true) }} // "true"
Integer: {{= string(1) }} // "1"
Float: {{= string(1.1) }} // "1.1"

Integer

Integer sind Ganzzahlen (Zahlen ohne Nachkommastellen).
10Integer
20.00kein Integer (Nachkommastellen vorhanden)

Float

Floats sind Fließkommazahlen mit einem Punkt als Dezimaltrenner.
10.25Float
10,25kein Float (ungültige Syntax: Komma als Dezimaltrenner)

Float konvertieren

Es können andere Basistypen in Float konvertiert werden
String: {{= float("1.1")}} // 1.1
Integer: {{= float(1) }} // 1.0
Boolean: {{= float(true) }} // 1.0

Boolean/Bool (true/false)

Ein Bool ist ein Wahrheitswert und kann nur true (wahr) oder false (falsch) sein.
trueWahrheitswert true
falseWahrheitswert false
"true"kein Wahrheitswert (falsche Syntax: String)
Boolesche Werte werden meistens in Kombination mit Vergleichsoperatoren erzeugt. Wenn man beispielsweise einen Wert mit einem anderen vergleicht, ist das Ergebnis entweder wahr oder falsch.
{{ if $quantity == 1 }}
    Wird angezeigt, wenn der Wert der Variable $quantity gleich 1 ist.
{{ /if }}

truthy und falsy

Nicht nur Werte vom Datentyp Bool enthalten einen Wahrheitswert. Objekte aller anderen Datentypen haben ebenfalls eine Werte-Eigenschaft, die man als truthy oder falsy bezeichnet. In Zusammenhang mit logischen Operatoren und Verzweigungen ist es wichtig zu wissen, wann ein Wert als wahr oder falsch angesehen wird. Hier eine Auflistung aller Werte die falsy sind und deshalb als false behandelt werden: ▪_null_, der Wert des Datentyps Null ▪_false_ ▪die Zahl 0 (Integer) oder 0.0 (Float) ▪ein leerer String ” ” ▪eine leere List [ ] ▪eine leere Map Alle anderen Werte werden als truthy behandelt.

Boolean konvertieren

Es können andere Basistypen in Boolean konvertiert werden
String: {{= bool(" ")}} // true
String: {{= bool("")}} // false
Integer: {{= bool(1) }} // true
Integer: {{= bool(0) }} // false
Float: {{= bool(1.0) }} // true
Float: {{= bool(0.0) }} // false

List

Eine List ist eine Reihe von Werten, die kommasepariert zwischen eckigen Klammern stehen. Eine leere List wird mit eckigen Klammern ohne Inhalt geschrieben.
[1, 2, 3]gefüllte List
[ ]leere List
Die Leerzeichen zwischen den Werten sind optional.

Distinct

Wenn in einer Liste mehrere Einträge gibt, die identisch sind, kann mit dieser Funktion alle doppelten Einträge entfernt werden. Argumente list - Liste, die verarbeitet werden soll key - (Optional) Map-Key, der für den Vergleich mit anderen Maps hergenommen werden soll. Beispiel
{{ var $list = [ 1, 2, 3, 4, 3, 2, 5, 6, 1 ] }}
{{= distinct($list) }} // Ergebnis: [ 1, 2, 3, 4, 5, 6 ]
{{ $list = [ "a", 1, "b", true, 2, "a", true, true, {"x": 1, "y": 1}, {"x": 1, "y": 2} ] }}
{{= distinct($list) }} // Ergebnis: [ "a", 1, "b", true, 2, , {"x": 1, "y": 1}, {"x": 1, "y": 2} ]
Man kann bei für Objekte einen key angeben, mit dem definiert werden soll welches Feld zum Vergleich hergenommen werden soll.
{{ var $list = [ 1, {"x": 1, "y": 1}, {"x": 1, "y": 2}, {"x": 2, "y": 2} ] }}
{{= $list | distinct("x") }} // Ergebnis: [ 1, {"x": 1, "y": 1}, {"x": 2, "y": 2} ]

ähnliche Schreibweise ohne Pipe:
{{= distinct($list, "x") }}

Merge

Es können zwei Listen jeweils miteinander vereint werden. Zusätzliche Information: Neben der Verwendung von einer Funktion kann auch der +-Operator ($list1 + $list2) verwendet werden. Argumente target - Liste, die für das Zusammenführen als Basis hergenommen werden soll source - Liste, um die das target erweitert werden soll
{{ var $list1 = [ 1, 2, 3 ] }}
{{ var $list2 = [ 3, 4, 5] }}
{{ var $list3 = merge($list1, $list2) }}
{{= $list3 }} // Ergebnis: [1, 2, 3, 3, 4, 5]

Map

Eine Map ist eine Liste von Schlüssel-Wert-Paaren, die innerhalb einfacher geschweifter Klammern geschrieben werden. Der Schlüssel und sein Wert werden durch Doppelpunkt getrennt. Die einzelnen Schlüssel-Wert-Paare werden durch Kommas getrennt. Eine leere Map wird mit geschweiften Klammern ohne Inhalt geschrieben.
{ name: "Shirt", price: "12.95", image: "shirt-blue.jpg" }gefüllte Map
{ "404": "Not found", "301": "Moved Permanently" }gefüllte Map
{ "Name, Description , Price, Zusatzinfos" }keine Map (ungültige Syntax)
{ }leere Map
Wenn ein Schlüssel andere Zeichen enthält als Ziffern (0-9), Buchstaben (a-z, A-Z) oder Unterstriche (_) oder mit einer Ziffer/Unterstrich beginnt, muss dieser als String in Anführungszeichen angegeben werden. Bei der Ausgabe von Maps wird die Reihenfolge der einzelnen Schlüssel-Werte-Paare nicht berücksichtigt.

Merge

Es können zwei Maps jeweils miteinander vereint werden. Bei der Map wird bei unterschiedlichen Inhalten der Inhalt des zweite Eintrags verwendet. Dabei kann auch verschachtelte Maps berücksichtigt werden. Argumente target - Map, die für das Zusammenführen als Basis hergenommen werden soll source - Map, um die das target erweitert werden soll deep - Optionaler Flag ob ein die Verschachtelung von Maps berücksichtigt werden soll (default: false) Beispiel - Merge von zwei Maps.
{{ var $map1 = { "a": 1, "b": 2, "c": { "x": 10, "y": 11 } } }}
{{ var $map2 = { "a": 2, "c": { "z": 12 }, "d": true } }}
{{ var $map3 = merge($map1, $map2) }}
{{= $map3 }}  // Ergebnis: { "a": 2, "b": 2, "c":{ "z": 12 }, "d": true }
Beispiel - Deep Merge von zwei Maps:
{{ var $map1 = { "a": 1, "b": 2, "c": { "x": 10, "y": 11 } } }}
{{ var $map2 = { "a": 2, "c": { "z": 12 }, "d": true } }}
{{ var $map3 = merge($map1, $map2, true) }}
{{= $map3 }}  // Ergebnis: { "a": 2, "b": 2, "c":{ "x": 10, "y": 11, "z": 12 }, "d": true }