Operatoren

Operatoren

Um Werte zu verarbeiten, stellt Dir die V9-Template-Engine verschiedene Operatoren zur Verfügung. Diese Operatoren erlauben es, auf Daten zuzugreifen und bestehenden Werte zu verändern oder zu vergleichen.

 

Zugriffsoperatoren (., [ ])

Um auf Attribute eines Objekts (List oder Map) zuzugreifen, kannst Du den Punkt-Operator . verwenden.

Alternativ geht das auch mit dem Index-Operator [ .... ]. Der Name des Attributs wird dazu als String in Anführungszeichen zwischen den eckigen Klammern angegeben. Hier ist auch die Angabe von Variablen möglich.

{{ $myProduct.name }}

{{ $myProduct["price"] }}

Mittels Punkt-Operator auf den Produktnamen zugreifen

Mittels Index-Operator auf den Produktpreis zugreifen

Beispiele:

{{ var $myList = [4, 3, 2, 1] }}

 

Variable $myList wird erstellt und ihr eine List mit vier Elementen zugewiesen.

{{= $myList[0] }}

Weil das Zählen mit der 0 beginnt, wird die 4 als erstes Element ausgegeben.

{{= $myList[2] }}

Die 2 als drittes Element der List wird ausgegeben.

{{= $myList.2 }}

Keine Ausgabe, weil der Punkt-Operator bei Lists nicht funktioniert.

{{ var $myMap = {"a": 1, "b": 2} }}

Variable $myMap mit einer Map, die zwei Schlüssel-Wert-Paare enthält, wird erstellt.

{{= $myMap.a }}

Der Wert des Schlüssels a wird ausgegeben: 1

{{= $myMap["b"] }}

Der Wert des Schlüssels b wird ausgegeben: 2

 

 

 

Mathematische Operatoren (+, -, *,/, %)

Es gibt mathematische Operatoren für die vier Grundrechenarten + - * /  sowie den Modulo-Operator %.

Die vier Grundrechenarten lassen sich mit Ganzzahlen (Integer) und Fließkommazahlen (Float) durchführen. Das aus anderen Sprachen bekannte Konkatenieren von Strings mit + funktioniert in der V9-Template-Sprache nicht.

{{= 10 + 1 }}

Ausgabe: 11

{{= 10 - 1 }}

Ausgabe: 9

{{= 5 * 3 }}

Ausgabe: 15

{{= 7.5 / 3 }}

Ausgabe: 2.5

Mit % wird der Modulo-Operator ausgeführt, der den verbleibenden ganzzahligen Rest bei der Division zweier ganzer Zahlen liefert:

{{= 5 % 2 }}

Ausgabe: 1

{{= 9 % 3 }}

Ausgabe: 0

 

Vergleichsoperatoren (==, !=, <, >, >=, <=)

Vergleichsoperatoren dienen zum Vergleichen zweier Werte. Das Ergebnis ist immer ein boolescher Wert (true oder false).

Beispiele für Vergleichsoperatoren:

▪ Die Variable $maxPrice erhält den Wert 10.00.

▪ Die Variable $price erhält den Preis eines Produkts, dieser ist in diesem Beispiel ebenfalls 10.00.

{{ var $maxPrice = 10.00 }} {{ var $price = 10.00 }}

{{= $price == $maxPrice }}

== prüft, ob zwei Werte gleich sind. Ausgabe: true

{{= $price != $maxPrice }}

!= prüft, ob zwei Werte ungleich sind. Ausgabe: false

{{= $price < $maxPrice }}

< prüft, ob der linke Wert kleiner ist als der rechte Wert. Ausgabe: false

{{= $price > $maxPrice }}

> prüft, ob der linke Wert größer ist als der rechte Wert. Ausgabe: false

{{= $price <= $maxPrice }}

<= prüft, ob der linke Wert kleiner oder gleich dem rechten Wert ist. Ausgabe: true

{{= $price >= $maxPrice }}

>= wird geprüft, ob der linke Wert größer oder gleich dem rechten Wert ist. Ausgabe: true

Logische Operatoren (and, or, not)

Die logischen Operatoren and, or und not prüfen eine oder mehrere Bedingungen und liefern die Wahrheitswerte true oder false.

Die Beispiele beziehen sich auf folgende Variablen:

{{ var $price = 10.00 }} {{ var $inventory = 5 }}

Mittels and kann überprüft werden, ob mehrere Bedingungen erfüllt sind.

{{= $price > 5.00 and $inventory > 0 }}

ergibt true und true. Ausgabe: true

{{= $price < 10.00 and $inventory > 0 }}

ergibt false und true. Ausgabe: false

Bei or muss dagegen nur eine der Bedingungen erfüllt sein, um true zu liefern.

{{= $price > 20.00 or $inventory > 0 }}

ergibt false oder true. Ausgabe: true

{{= $price > 20.00 or $inventory < 5 }}

ergibt false oder false. Ausgabe: false

Mittels not lässt sich die folgende Bedingung negieren (verneinen), d. h. damit die Bedingung erfüllt ist, darf sie nicht zutreffen.

{{= not $price > 20.00 }}

ergibt nicht false. Ausgabe: true

{{= $price < 20.00 and not $inventory < 5 }}

ergibt true und nicht false. Ausgabe: true

Containment-Operator (in)

Der Containment-Operator in wird verwendet, um zu prüfen, ob der Wert auf der linken Seite des Operators in dem Objekt auf der rechten Seite enthalten ist:

{{= 1 in [1, 2, 3] }}

Ausgabe: true

{{= 'abc' in 'abcdef' }} 

Ausgabe: true

{{= "key" in {key: "value"} }}

Ausgabe: true

 

 

 

© 2025 WEBSALE AG | Impressum | Datenschutz