Zum Hauptinhalt springen
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:
Ein Ausdruck kann auch zunächst einer eigenen Variablen zugewiesen werden, um ihn später weiterzuverwenden:
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:
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
Beispiel – Produktname ausgeben
Beispiel – Lieferland aus einer Bestelladresse ausgeben
Hinweis: Für numerische Listenindizes ist der Punkt-Operator nicht geeignet. Beispiel – funktioniert nicht bei einer Liste
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
Beispiel – auf ein Feld in einer Map zugreifen
Beispiel – erstes Element einer Liste ausgeben
Ausgabe
Beispiel – dynamischen Schlüssel verwenden
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
Beispiel – zwei Zahlen addieren
Ausgabe
Beispiel – Artikelnummer aus Präfix und ID zusammensetzen
Ausgabe
Beispiel – Zahl in einen Text einfügen
Beispiel – zwei Listen zusammenführen
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
Beispiel – Preisnachlass berechnen
Ausgabe
Beispiel – Restbestand nach Abzug berechnen
Ausgabe
   

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
Beispiel – Zwischensumme berechnen
Beispiel – Verpackungseinheiten berechnen
Ausgabe
   

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
Beispiel – Durchschnittspreis berechnen
Ausgabe
Beispiel – Teilmenge berechnen
Ausgabe
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
Beispiel – prüfen, ob eine Zahl gerade ist
Ausgabe
Beispiel – jedes dritte Element in einer Liste markieren
   

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
Beispiel – Land prüfen
Beispiel – Preis mit Maximalwert vergleichen
Ausgabe
   

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
Beispiel – nur anzeigen, wenn ein Kunde nicht gesperrt ist
   

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
   

Größer als >

Der Operator > prüft, ob der linke Wert größer als der rechte Wert ist. Beispiel – Mindestbestellwert prüfen
   

Kleiner oder gleich <=

Der Operator <= prüft, ob ein Wert kleiner oder gleich einem anderen Wert ist. Beispiel – Bestand prüfen
   

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
   

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
Beispiel – Produkt nur anzeigen, wenn Preis gültig und Bestand vorhanden ist
Beispiel – Kaufbutton nur für aktive Produkte mit Bestand
   

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
Beispiel – Produkt anzeigen, wenn Bestand vorhanden oder Vorbestellung erlaubt ist
   

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
Beispiel – nur anzeigen, wenn der Benutzer nicht eingeloggt ist
Beispiel – Meldung anzeigen, wenn kein Bestand vorhanden ist
   

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
Beispiel – prüfen, ob eine Farbe verfügbar ist
Ausgabe
Beispiel – Land gegen erlaubte Länderliste prüfen