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.

Operatoren werden in der Template-Sprache verwendet, um auf Werte zuzugreifen, Werte zu berechnen, Inhalte zu vergleichen oder Bedingungen zu verknüpfen. Sie sind ein grundlegender Bestandteil vieler Template-Ausdrücke, zum Beispiel bei Ausgaben, Bedingungen oder beim Arbeiten mit Listen und Maps. Im Unterschied zu Funktionen werden Operatoren nicht als Aufruf mit Klammern geschrieben, sondern direkt innerhalb eines Ausdrucks verwendet. Die vorhandene Operatoren-Referenz behandelt dazu insbesondere Zugriffs-, mathematische, Vergleichs-, logische sowie den Containment-Operator in.

Grundlagen

Schreibweise

Operatoren werden direkt innerhalb eines Ausdrucks verwendet. Sie können sowohl in einer Ausgabe als auch in einer Variablenzuweisung oder in einer Bedingung vorkommen. Damit das Ergebnis eines Ausdrucks direkt im Template ausgegeben wird, wird die Ausgabe-Schreibweise verwendet:
{{= <Ausdruck> }}
Ein Ausdruck kann auch zunächst einer eigenen Variablen zugewiesen werden, um ihn später weiterzuverwenden:
{{ var $myVariable = <Ausdruck> }}
Die vorhandenen Referenzseiten zeigen genau dieses Muster bereits für Funktionsaufrufe, Variablen und Operator-Ausdrücke.  

Operatoren in Ausgaben und Bedingungen

Operatoren werden besonders häufig in diesen Situationen verwendet:
  • beim Zugriff auf Werte in Maps oder Listen
  • bei Berechnungen
  • bei Vergleichen in if-Bedingungen
  • beim Verknüpfen mehrerer Bedingungen
  • beim Prüfen, ob ein Wert in einer Liste oder Map enthalten ist
Beispiele:
{{= $myProduct.name }}
{{= $myPrice * $quantity }}
{{= $myProductStock > 0 }}
{{= $myPrice > 10 and $myProductStock > 0 }}
{{= "red" in $myAvailableColors }}
Die Operatoren-Seite dokumentiert dafür bereits . und [] für Zugriffe, mathematische Operatoren, Vergleichsoperatoren, logische Operatoren sowie in.    

Reihenfolge und Klammern

Sobald mehrere Operatoren in einem Ausdruck kombiniert werden, sollte mit Klammern gearbeitet werden, um die gewünschte Reihenfolge eindeutig zu machen. Das erhöht nicht nur die Lesbarkeit, sondern verhindert auch Missverständnisse bei komplexeren Bedingungen. Beispiel: {{= ($myPrice > 0 and $stock > 0) or $myIsBackorderAllowed }} Empfehlung:
  • Einfache Ausdrücke können direkt geschrieben werden.
  • Bei gemischten Vergleichen und logischen Verknüpfungen sollten Klammern verwendet werden.
  • Besonders bei and, or und not ist eine klare Struktur wichtig.
 
 

Liste der Operatoren

 

Punkt-Operator .

Der Punkt-Operator wird verwendet, um auf ein Attribut einer Map zuzugreifen. Die bestehende Operatoren-Seite beschreibt den Punkt-Operator als Standardzugriff auf Attribute eines Objekts und zeigt zugleich, dass er bei Listenindizes nicht funktioniert. Anwendungsbeispiel
Typisch ist der Zugriff auf Produktdaten, Kundendaten oder andere strukturierte Werte.
Schreibweise
{{= $myMap.key }}
Beispiel – Produktname ausgeben
{{= $myProduct.name }}
Beispiel – Lieferland aus einer Bestelladresse ausgeben
{{= $order.shippingAddress.country }}
Hinweis: Für numerische Listenindizes ist der Punkt-Operator nicht geeignet. Beispiel – funktioniert nicht bei einer Liste
{{ var $myList = [4, 3, 2, 1] }}
{{= $myList.2 }}
Ausgabe
Keine Ausgabe
   

Index-Operator []

Der Index-Operator wird verwendet, um auf Werte in Listen oder Maps zuzugreifen. Bei Maps wird der Schlüssel in eckigen Klammern angegeben. Bei Listen wird der numerische Index verwendet. Laut bestehender Doku kann im Index-Operator auch eine Variable verwendet werden. Anwendungsbeispiel
Sinnvoll bei dynamischen Schlüsseln oder beim Zugriff auf ein bestimmtes Listenelement.
Schreibweise
{{= $myObject["key"] }}
{{= $myList[0] }}
Beispiel – auf ein Feld in einer Map zugreifen
{{= $myProduct["price"] }}
Beispiel – erstes Element einer Liste ausgeben
{{ var $myList = [4, 3, 2, 1] }}
{{= $myList[0] }}
Ausgabe
4
Beispiel – dynamischen Schlüssel verwenden
{{ var $fieldName = "price" }}
{{= $myProduct[$fieldName] }}
Hinweis: Listenindizes beginnen bei 0.  

Additionsoperator +

Der Operator + wird verwendet, um numerische Werte zu addieren. Auf der aktuellen Funktionsseite wird zusätzlich dokumentiert, dass + auch zum Zusammenfügen von Strings sowie zum Vereinen von Listen verwendet werden kann. Das widerspricht der älteren Operatoren-Seite; dieser Entwurf folgt deshalb der neueren Funktionsseite. Anwendungsbeispiel
Verwendbar für Berechnungen, aber auch zum Zusammensetzen von Texten oder zum Zusammenführen von Listen.
Schreibweise
{{= value1 + value2 }}
Beispiel – zwei Zahlen addieren
{{= 10 + 1 }}
Ausgabe
11
Beispiel – Artikelnummer aus Präfix und ID zusammensetzen
{{ var $prefix = "ART-" }}
{{ var $productId = "10452" }}
{{= $prefix + $productId }}
Ausgabe
ART-10452
Beispiel – Zahl in einen Text einfügen
{{ var $quantity = 3 }}
{{= "Anzahl Artikel im Warenkorb: " + str($quantity) }}
Beispiel – zwei Listen zusammenführen
{{ var $listA = ["red", "green"] }}
{{ var $listB = ["blue"] }}
{{= $listA + $listB | json }}
Hinweis: Beim Zusammenfügen von Texten müssen nicht-string Werte gegebenenfalls zuerst mit str() in einen String umgewandelt werden.  

Subtraktionsoperator -

Der Operator - subtrahiert einen Wert von einem anderen Wert. Die Operatoren-Seite dokumentiert - als einen der mathematischen Grundoperatoren. Anwendungsbeispiel
Nützlich für Preisunterschiede, Rabatte oder Restmengen.
Schreibweise
{{= value1 - value2 }}
Beispiel – Preisnachlass berechnen
{{ var $regularPrice = 99.95 }}
{{ var $salePrice = 79.95 }}
{{= $regularPrice - $salePrice }}
Ausgabe
20
Beispiel – Restbestand nach Abzug berechnen
{{ var $stock = 15 }}
{{ var $reserved = 4 }}
{{= $stock - $reserved }}
Ausgabe
11
   

Multiplikationsoperator *

Der Operator * multipliziert zwei numerische Werte. Er ist Teil der auf der Operatoren-Seite dokumentierten mathematischen Operatoren. Anwendungsbeispiel
Typisch für Mengen- und Preisberechnungen.
Schreibweise
{{= value1 * value2 }}
Beispiel – Zwischensumme berechnen
{{ var $unitPrice = 19.99 }}
{{ var $quantity = 3 }}
{{= $unitPrice * $quantity }}
Beispiel – Verpackungseinheiten berechnen
{{ var $boxes = 4 }}
{{ var $itemsPerBox = 6 }}
{{= $boxes * $itemsPerBox }}
Ausgabe
24
   

Divisionsoperator /

Der Operator / dividiert einen numerischen Wert durch einen anderen numerischen Wert. Auch dieser Operator ist in der vorhandenen Mathe-Übersicht dokumentiert. Anwendungsbeispiel
Hilfreich bei Durchschnittswerten, Anteilen oder Umrechnungen.
Schreibweise
{{= value1 / value2 }}
Beispiel – Durchschnittspreis berechnen
{{ var $sum = 90 }}
{{ var $count = 3 }}
{{= $sum / $count }}
Ausgabe
30
Beispiel – Teilmenge berechnen
{{= 7.5 / 3 }}
Ausgabe
2.5
Hinweis
Bei Divisionen sollte sichergestellt werden, dass der Divisor nicht 0 ist.
   

Modulo-Operator %

Der Modulo-Operator % gibt den Rest einer Division zurück. Die Operatoren-Seite nennt % ausdrücklich als Modulo-Operator. Anwendungsbeispiel
Nützlich, um gerade und ungerade Werte zu prüfen oder Rasterlogik in Listen umzusetzen.
Schreibweise
{{= value1 % value2 }}
Beispiel – prüfen, ob eine Zahl gerade ist
{{= 8 % 2 == 0 }}
Ausgabe
true
Beispiel – jedes dritte Element in einer Liste markieren
{{ if $loop.index % 3 == 0 }}
  <div class="teaser-row-break"></div>
{{ /if }}
   

Gleichheitsoperator ==

Der Operator == prüft, ob zwei Werte gleich sind. Vergleichsoperatoren liefern laut bestehender Referenz immer einen booleschen Wert, also true oder false. Anwendungsbeispiel
Verwendbar für Statusabfragen, Länderprüfungen oder Template-Logik.
Schreibweise
{{= value1 == value2 }}
Beispiel – Land prüfen
{{= $countryCode == "DE" }}
Beispiel – Preis mit Maximalwert vergleichen
{{ var $maxPrice = 10.00 }}
{{ var $price = 10.00 }}
{{= $price == $maxPrice }}
Ausgabe
true
   

Ungleichheitsoperator !=

Der Operator != prüft, ob zwei Werte ungleich sind. Er gehört ebenfalls zu den auf der Operatoren-Seite dokumentierten Vergleichsoperatoren. Anwendungsbeispiel
Nützlich, wenn ein Wert ausdrücklich nicht einem bestimmten Zustand entsprechen darf.
Schreibweise
{{= value1 != value2 }}
Beispiel – nur anzeigen, wenn ein Kunde nicht gesperrt ist
{{= $customer.status != "blocked" }}
   

Kleiner als <

Der Operator < prüft, ob der linke Wert kleiner als der rechte Wert ist. Vergleichsoperatoren sind laut aktueller Operatoren-Seite für solche Wertvergleiche vorgesehen. Beispiel – Preislimit prüfen
{{= $price < 50 }}
   

Größer als >

Der Operator > prüft, ob der linke Wert größer als der rechte Wert ist. Beispiel – Mindestbestellwert prüfen
{{= $cartTotal > 100 }}
   

Kleiner oder gleich <=

Der Operator <= prüft, ob ein Wert kleiner oder gleich einem anderen Wert ist. Beispiel – Bestand prüfen
{{= $score >= 80 }}
   

Größer oder gleich >=

Der Operator >= prüft, ob ein Wert größer oder gleich einem anderen Wert ist. Beispiel – Mindestalter oder Schwellenwert prüfen
{{= $score >= 80 }}
   

Logisches and

Der Operator and verknüpft zwei Bedingungen. Das Ergebnis ist nur dann true, wenn beide Bedingungen erfüllt sind. Genau dieses Verhalten ist auf der Operatoren-Seite mit Beispielen beschrieben. Anwendungsbeispiel
Sinnvoll, wenn mehrere Voraussetzungen gleichzeitig erfüllt sein müssen.
Schreibweise
{{= condition1 and condition2 }}
Beispiel – Produkt nur anzeigen, wenn Preis gültig und Bestand vorhanden ist
{{= $price > 0 and $inventory > 0 }}
Beispiel – Kaufbutton nur für aktive Produkte mit Bestand
{{ if $product.active and $product.stock > 0 }}
  <button>In den Warenkorb</button>
{{ /if }}
   

Logisches or

Der Operator or verknüpft zwei Bedingungen. Das Ergebnis ist true, wenn mindestens eine der Bedingungen erfüllt ist. or gehört laut bestehender Referenz zu den logischen Operatoren. Anwendungsbeispiel
Geeignet für alternative Freigaben oder Sonderfälle.
Schreibweise
{{= $inventory > 0 or $allowPreorder }}
Beispiel – Produkt anzeigen, wenn Bestand vorhanden oder Vorbestellung erlaubt ist
{{= $inventory > 0 or $allowPreorder }}
   

Logisches not

Der Operator not kehrt den Wahrheitswert eines Ausdrucks um. Auch not ist Teil der auf der Operatoren-Seite dokumentierten logischen Operatoren. Anwendungsbeispiel
Hilfreich, wenn geprüft werden soll, dass eine Bedingung nicht erfüllt ist.
Schreibweise
{{= not condition }}
Beispiel – nur anzeigen, wenn der Benutzer nicht eingeloggt ist
{{ if not $isLoggedIn }}
  <a href="/login">Jetzt anmelden</a>
{{ /if }}
Beispiel – Meldung anzeigen, wenn kein Bestand vorhanden ist
{{ if not ($inventory > 0) }}
  <p>Aktuell nicht verfügbar</p>
{{ /if }}
   

Containment-Operator in

Der Operator in prüft, ob der linke Wert im rechten Objekt enthalten ist. Die bestehende Operatoren-Seite dokumentiert in ausdrücklich als Containment-Operator und zeigt als Beispiel 1 in [1, 2, 3]. Anwendungsbeispiel
Sinnvoll für Länderlisten, erlaubte Werte, Farbauswahlen oder Whitelists.
Schreibweise
{{= value in collection }}
Beispiel – prüfen, ob eine Farbe verfügbar ist
{{= "red" in ["red", "green", "blue"] }}
Ausgabe
true
Beispiel – Land gegen erlaubte Länderliste prüfen
{{ var $allowedCountries = ["DE", "AT", "CH"] }}
{{= $countryCode in $allowedCountries }}