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.

Globale Template-Funktionen stehen in allen Templates zur Verfügung. Sie werden verwendet, um Werte zu verarbeiten, zu formatieren oder zu prüfen (z. B. Strings anpassen, Zahlen runden, Listen zusammenführen oder Datumswerte vergleichen). Diese Seite beschreibt ausschließlich globale Funktionen. Funktionen, die an ein Modul gebunden sind (z. B. Methoden von $wsAccount oder $wsExternalData), werden in der jeweiligen Modul-Referenz dokumentiert. Viele Funktionen können alternativ auch als Modifier (Filter) verwendet werden.

Grundlagen

Funktionen werden mit runden Klammern aufgerufen. Werte, die an eine Funktion übergeben werden (sogenannte Parameter), werden durch Kommas getrennt. Funktionsnamen sind case-sensitive (Groß - und Kleinschreibung muss also genau beachtet werden).

Schreibweise

Damit das Ergebnis einer Funktion im Template ausgegeben wird, wird die Ausgabe-Schreibweise verwendet:
{{= <Funktionsname>(...) }}
Das Ergebnis der Funktion muss nicht zwingend sofort im Template ausgegeben werden, sondern kann auch in einer eigenen Variable gespeichert werden, um es später weiter zu verwenden.
{{ var $myVariable = <Funktionsname>(...) }}

Parameterübergabe und Reihenfolge

Standardmäßig werden Parameter positionsbasiert übergeben (in der Reihenfolge der Signatur). Wenn die Reihenfolge der Parameter geändert werden soll, müssen benannte Parameter verwendet werden (Name laut Signatur + =). Entscheidend sind dann die Parameternamen – nicht die Position. Beispiel Ein Gutschein soll über die Funktion replace umbenannt werden. Aus GUTSCHEIN_buy10 soll GUTSCHEIN_sale10 werden. Die Signatur lautet: replace(content, search, replace). Bei positionsbasierter Übergabe ist die Reihenfolge daher:
{{= replace("GUTSCHEIN_buy10", buy", "sale") }}
Sobald Parameter benannt übergeben werden (name="..."), ist die Reihenfolge frei:
{{= replace(search="buy", replace="sale", content="GUTSCHEIN_buy10") }}
= In beiden Fällen ist das Ergebnis
GUTSCHEIN_sale10

Funktionen kombinieren (verkettete Verarbeitung)

Mehrere Funktionen können auch nacheinander angewendet werden, indem die erste Funktion als Argument der zweiten Funktion verwendet wird. Beispiel Die VersandkostenID „versand_kostenfrei“ soll sprechend in „VERSAND KOSTENFREI“ umbenannt und die Schreibweise in Versalien (Großschreibung) geändert werden. Es werden die Funtkionen upper und replace verwendet:
{{= upper(replace("versand_kostenfrei", "_", " ")) }}
=
VERSAND KOSTENFREI

Texte und Listen zusammenfügen

Mit dem +-Operator könne zwei Texte (Strings) direkt zu einem neuen String zusammengefügt werden. Für Listen kann + alternativ zu merge() verwendet werden, um zwei Auflistungen zu vereinen. Es können nur Werte desselben Typs mit + verbunden werden. Zahlen oder andere Typen müssen vorher mit der Funktion str() in einen Text umgewandelt werden. Beispiele
Artikelnummer aus Präfix und ID zusammensetzen:
{{ var $prefix = "ART-" }}
{{ var $productId = "10452" }}
{{ var $articleNumber = $prefix + $productId }}
{{= $articleNumber }}
Ausgabe
ART-10452
Bestellmenge in einen Hinweistext einbinden - Zahlen müssen vor der Zusammensetzung mit einem String mit str() in einen Text umgewandelt werden.
{{ var $quantity = $wsCart.info.itemCount }}
{{ var $message = "Anzahl Artikel im Warenkorb: " + str($quantity) }}
{{= $message }}

Liste der Funktionen

abs

Die Funktion abs gibt den Absolutwert einer Zahl zurück – also den Wert ohne Vorzeichen. Eine negative Zahl wird dadurch positiv, eine positive Zahl bleibt unverändert. Anwendungsbeispiel
Nützlich, um z. B. Rabattbeträge oder Preisdifferenzen im Shop immer als positive Zahl darzustellen – unabhängig davon, ob der Wert in den Daten ein Minus-Vorzeichen hat.
Signatur
abs(value)
Parameter
  • value - Die Zahl, deren Absolutwert ermittelt werden soll.
Verwendbar als Modifier
ja
Beispiel mit negativem Wert
{{= abs(-7.5) }}
Ausgabe
 7.5
Beispiel mit positivem Wert
{{= abs(3) }}
Ausgabe
3
Beispiel - Preisdifferenz immer positiv darstellen
Der aktuelle Preis eines Produkts wird im Feld price gespeichert (hier: 79.95), der ursprüngliche Preis im Feld setOrgPrice (hier: 99.95). Die Differenz zwischen beiden kann je nach Rechenrichtung negativ ausfallen. Mit abs wird sichergestellt, dass der angezeigte Betrag immer positiv ist.
{{ var $myProduct = $wsProducts.load("100-12345") }}
<p>Sie sparen: {{= currency(abs($myProduct.price - $myProduct.setOrgPrice)) }} €</p>
Ausgabe
Sie sparen: 20,00 €

ceil

Die Funktion ceil rundet eine Zahl immer auf die nächste ganze Zahl auf – egal, wie klein der Nachkommaanteil ist. ceil(1.1) ergibt also 2, genauso wie ceil(1.9). Anwendungsbeispiel
Hilfreich, wenn Werte im Shop immer „zugunsten” einer ganzen Einheit aufgerundet werden sollen – z. B. Stückzahlen, Verpackungseinheiten oder berechnete Mengen.
Signatur
ceil(value)
Parameter
  • value – Die Zahl, die aufgerundet werden soll.
Verwendbar als Modifier:
ja
Beispiel mit Dezimalzahl resp. Dezimalbruch
{{= ceil(1.3) }}
Ausgabe (aufgerundet auf die nächste ganze Zahl)
2.000000
Beispiel mit ganzer Zahl (Ganzzahl)
{{= ceil(2) }}
Ausgabe (ganze Zahl bleibt unverändert)
2.000000
Um die Darstellung der Nachkommastellen anzupassen benutzen Sie ceil(2) | preparedFormat(“name“)

Beispiel - Berechnetes Produktgewicht aufrunden
Das Versandgewicht eines Produkts (in diesem Fall 2,3 kg) wird auf volle Kilogramm aufgerundet.
{{ var $myProductWeight = $myProduct.custom.weight }}
<p>Versandgewicht: {{= ceil($myProductWeight) | preparedFormat("amount") }} kg</p>
Ausgabe
Versandgewicht: 3 kg
Gegenstück
floor

currency

Die Funktion currency formatiert einen numerischen Wert als Preisangabe gemäß den Shop-Einstellungen zur Währung. Dazu gehören insbesondere:
  • Dezimaltrennzeichen (z. B. , statt .)
  • Anzahl der Nachkommastellen (z. B. 2 bei vielen Währungen)
  • kaufmännisches Runden auf die konfigurierte Nachkommastellen-Anzahl
Die Funktion berechnet keine Preise (z.B. Steuern, Rabatte oder Versandkosten), sondern formatiert ausschließlich den übergebenen Wert für die Ausgabe. Anwendungsbeispiel
Eignet sich für die Ausgabe von Beträgen wie Einzelpreisen, Rabatten, Zwischensummen und Gesamtsummen.
Signatur
currency(price)
Parameter
  • price - Die Zahl, die als Preis formatiert werden soll.
Verwendbar als Modifier
ja
Beispiel mit Nachkommastellen
{{= currency(3.1475) }}
Ausgabe
3,15
Beispiel mit Ganzzahl
{{= currency(12) }}
Ausgabe
12,00
Soll ein Zahlenwert unabhängig von der Währung in einem bestimmten Format ausgegeben werden (z.B. mit einer anderen Anzahl an Nachkommastellen), ist preparedFormat() die passende Funktion.
Beispiel - Produktpreis formatiert ausgeben
Der Preis eines Produkts wird als Dezimalzahl gespeichert (hier: 89.95). Mit currency wird er gemäß den Shop-Einstellungen formatiert.
Ausgabe
89.95€

dateFmt

Die Funktion dateFmt bringt ein Datum oder einen Zeitpunkt in ein gewünschtes Anzeigeformat. Der Eingabewert muss im ISO-8601-Format vorliegen (z. B. 2018-03-11T11:20:11.000Z) – dieses Format wird von den meisten Systemen automatisch verwendet. Anwendungsbeispiel
Damit lassen sich z. B. Bestelldaten, Liefertermine oder Aktionszeiträume im Shop leserlich darstellen (z. B. als „11.03.2018” oder „11:20:11”).
Signatur
dateFmt(isoDate, fmt)
Parameter
  • isoDate – Datum/Zeit im ISO-8601-Format (z. B. 2018-03-11T11:20:11.000Z)
  • fmt – Formatangabe, die festlegt, wie die Ausgabe aussehen soll
    • Die wichtigsten Platzhalter im Überblick
      • %d = Tag (01–31)
      • %m = Monat (01–12)
      • %Y = Jahr (4-stellig)
      • %H = Stunde (00–23)
      • %M = Minute (00–59)
      • %S = Sekunde (00–60)
    • Damit können Sie die folgenden Formate einfach „zusammenbauen“, z. B.:
      • "%d.%m.%Y"11.03.2018
      • "%H:%M:%S"11:20:11
Verwendbar als Modifier
ja
Beispiel zur Ausgabe des Bestelldatums aus der “Bestellzeit”
{{= dateFmt("2018-03-11T11:20:11.000Z", "%d.%m.%Y") }}
Ausgabe
11.03.2018
Beispiel zur Ausgabe der Uhrzeit aus der “Bestellzeit”
{{= dateFmt("2018-03-11T11:20:11.000Z", "%H:%M:%OS") }}
Ausgabe
11:20:11
Beispiel - Bestelldatum und Uhrzeit formatiert ausgeben
Das Bestelldatum ist in diesem Beispiel in folgendem Format gespeichert - 2024-06-15T14:32:05.000Z. Mit dateFmt wird es für eine Bestellbestätigung in ein lesbares Datum und eine separate Uhrzeit umgewandelt.
{{var $myOrder = $wsOrderHistory.load($wsViews.current.params.orderHistorySelect)}
<p>Bestellt am: {{= dateFmt($myOrder.general.dateTime, "%d.%m.%Y") }}</p>
<p>Uhrzeit: {{= dateFmt($myOrder.general.dateTime, "%H:%M") }} Uhr</p>
Ausgabe
Bestellt am: 15.06.2024
Uhrzeit: 14:32 Uhr

dateGreaterThan

Die Funktion dateGreaterThan vergleicht zwei Datumswerte (als Strings) miteinander und liefert true, wenn das erste Datum nach dem zweiten Datum liegt. Anwendungsbeispiel
Damit lässt sich im Template z. B. prüfen, ob ein Liefertermin in der Zukunft liegt oder ob ein Zeitraum bereits überschritten ist.
Signatur
dateGreaterThan(firstDate, secondDate)
Parameter:
  • firstDate – Erstes Datum (zu prüfender Wert)
  • secondDate – Zweites Datum (Vergleichswert)
Verwendbar als Modifier
ja
Beispiel eines Datumsvergleichs
{{= dateGreaterThan("2019-03-11T11:20:11.000Z", "2017-07-11T11:20:11.000Z") }}
Ausgabe
true
Beispiel - Prüfen, ob eine Bestellung nach einem bestimmten Stichtag aufgegeben wurde
Mit dateGreaterThan lässt sich prüfen, ob die Bestellung nach einem festen Stichtag liegt - z.B. um nur Bestellungen ab dem 01.01.2025 für eine Rückgabeaktion zu berücksichtigen.
{{ var $myOrder = $wsOrderHistory.load("12345") }}
{{ var $stichtag = "2025-01-01T00:00:00.000Z" }}
{{ if (dateGreaterThan($myOrder.general.dateTime, $stichtag)) }}
  <p>Diese Bestellung ist für die Rückgabeaktion qualifiziert.</p>
{{ /if }}
Ausgabe, wenn das Bestelldatum nach dem 01.01.2025 liegt
Diese Bestellung ist für die Rückgabeaktion qualifiziert.
Gegenstück
dateLessThan

dateLessThan

Die Funktion dateLessThan vergleicht zwei Datumswerte (als Strings) miteinander und liefert true, wenn das erste Datum vor dem zweiten Datum liegt. Anwendungsbeispiel
Damit lassen sich im Template z. B. Fristen oder Zeiträume prüfen - etwa ob ein Datum bereits überschritten ist oder ob ein Ereignis noch bevorsteht.
Signatur
dateLessThan(firstDate, secondDate)
Parameter
  • firstDate – Erstes Datum (zu prüfender Wert)
  • secondDate – Zweites Datum (Vergleichswert)
Verwendbar als Modifier
ja
Beispiel eines Datumsvergleichs
{{= dateLessThan("2020-03-11T11:20:11.000Z", "2021-07-11T11:20:11.000Z") }}
Ausgabe
true
Beispiel - Hinweis anzeigen, wenn eine Bestellung vor einem Stichtag aufgegeben wurde
Mit dateLessThan lässt sich prüfen, ob die Bestellung vor einem festen Stichtag liegt - z.B. um drauf hinzuweisen, dass die Rückgabefrist bereits abgelaufen ist.
{{ var $myOrder = $wsOrderHistory.load("12345") }}
{{ var $fristEnde = "2025-01-01T00:00:00.000Z" }}
{{ if (dateLessThan($myOrder.general.dateTime, $fristEnde)) }}
  <p>Die Rückgabefrist für diese Bestellung ist abgelaufen.</p>
{{ /if }}
Ausgabe, wenn das Bestelldatum vor dem 01.01.2025 liegt
Die Rückgabefrist für diese Bestellung ist abgelaufen.
Gegenstück
dateGreaterThan

decode

Die Funktion decode wandelt einen kodierten String zurück in seinen ursprünglichen Klartext. Unterstützte Formate sind base64 und hex. Wenn der übergebene Wert kein gültiger kodierter String im angegebenen Format ist, gibt die Funktion null zurück. Anwendungsbeispiel
Nutzbar, um z.B. extern kodiert übermittelte Produktdaten, Gutscheincodes oder Konfigurationswerte vor der Weiterverarbeitung im Template zu dekodieren.
Signatur
decode(content, format)
Parameter
  • content - Der kodierte String, der dekodiert werden soll.
  • format - Das Kodierungsformat, das beim Dekodieren verwendet werden soll. Gültige Werte: “base64”, “hex”.
Verwendbar als Modifier
ja
Beispiel - Dekodierung eines Base64-Strings
{{= decode("d2Vic2FsZQ==", "base64") }}
Ausgabe
websale
Beispiel - Dekodierung eines Hex-Strings
{{= decode("776562 73616c65", "hex") }}
Ausgabe
websale
Beispiel - Fehlerhafte Eingabe
{{= decode("kein-gültiger-base64-wert!!!", "base64") }}
Ausgabe
null
Gegenstück
encode

distinct

Die Funktion distinct entfernt doppelte Einträge aus einer Auflistung und gibt eine neue Auflistung zurück, in der jeder Wert nur einmal vorkommt. Bei Auflistungen von Datenobjekten (Maps) kann optional ein Schlüssel angegeben werden, anhand dessen verglichen wird. Die Angabe des Schlüssels wird nur auf der obersten Ebene einer Map berücksichtigt. Anwendungsbeispiel
Nutzbar, um z.B. Duplikate aus einer Liste von Produktkategorien, Variantenmerkmalen oder Filterwerten zu entfernen, bevor sie im Template angezeigt werden.
Signatur
distinct(list[, key]
Parameter
  • list - Die Auflistung, aus der Duplikate entfernt werden sollen.
  • key (optional) - Schlüssel eines Datenobjekts, der für den Vergleich verwendet wird.
Verwendbar als Modifier
ja
Beispiel - Doppelte Größenangaben aus einer Variantenliste entfernen
{{ var $sizes = ["S", "M", "L", "M", "XL", "S"] }}
{{= distinct($sizes) }}
Ausgabe
["S", "M", "L", "XL"]

encode

Die Funktion encode kodiert einen String ein ein angegebenes Format. Unterstützte Formate sind base64 und hex. Der Rückgabewert ist immer vom Typ String. Anwendungsbeispiel
Nutzbar, um z.B. Gutscheincodes, Produkt-Kennungen oder andere Werte für die Weitergabe an externe Dienste oder in URLs sicher zu kodieren.
Signatur
encode(content, format)
Parameter
  • content - Der String, der kodiert werden soll.
  • format - Das Zielformat der Kodierung. Gültige Werte: “base64”, “hex”.
Verwendbar als Modifier
ja
Beispiel - Kodierung als Base64
{{= encode("websale", "base64") }}
Ausgabe
d2Vic2FsZQ==
Beispiel - Kodierung als hex
{{= encode("websale", "hex") }}
Ausgabe
776562 73616c65
Gegenstück
decode

floor

Die Funktion floor rundet eine Zahl immer auf die nächste ganze Zahl ab – egal, wie groß der Nachkommaanteil ist. floor(4.9) ergibt also 4, genauso wie floor(4.1). Anwendungsbeispiel
Hilfreich, wenn Werte im Shop grundsätzlich abgerundet werden sollen – z. B. bei berechneten Mengen oder Zwischenergebnissen, die nur als ganze Zahl weiterverarbeitet werden dürfen.
Signatur
floor(value)
Parameter
  • value – Numerischer Wert, der abgerundet werden soll.
Verwendbar als Modifier
ja
Beispiel mit Dezimalzahl resp. Dezimalbruch
{{= floor(4.9) }}
Ausgabe
4.000000
Beispiel mit ganzer Zahl
{{= floor(2) }}
Ausgabe
2.000000
Um die Darstellung der Nachkommastellen anzupassen benutzen Sie floor(4.9) | preparedFormat(“name”)
Beispiel - Berechnetes Produktgewicht abrunden
Das Versandgewicht eines Produkts (in diesem Fall 2,7 kg) wird auf volle Kilogramm abgerundet.
{{ var $myProductWeight = $myProduct.custom.weight }}
<p>Mindestgewicht: {{= floor($myProductWeight) | preparedFormat("amount") }} kg</p>
Ausgabe
Mindestgewicht: 2 kg
Gegenstück
ceil

ifnull

Die Funktion ifnull prüft, ob ein Wert vorhanden ist oder nicht (null bedeutet: „kein Wert vorhanden”). Ist der Wert null, wird stattdessen ein Ersatzwert ausgegeben. Ist ein Wert vorhanden, wird dieser selbst verwendet. Anwendungsbeispiel
Eignet sich z.B. für Fallback-Logiken im Shop - etwa um ein Ersatzbild anzuzeigen, wenn kein Produktbild vorhanden ist, oder um fehlende Produktdaten durch Standardwerte zu ersetzen.
Signatur
ifnull(object, value)
Parameter
  • object - Der zu prüfende Wert.
  • value - Der Alternativwert, der ausgegeben wird, wenn object den Wert null hat.
Verwendbar als Modifier
ja
Beispiel mit null-Wert
{{= ifnull(Null, "sale") }}
Ausgabe
sale
Beispiel mit vorhandenem Wert
{{= ifnull("web", "sale") }}
Ausgabe (der String “web” ist nicht null, daher wird er selbst ausgegeben).
web
Beispiel mit Produktbild-Fallback
In der Variable $myProduct werden alle Informationen und Daten zu einem Produkt gespeichert. Wenn kein Produktbild gefunden wird ($myProduct.custom.image.normal ist null), dann wird das Ersatzbild noImageNormal.png angezeigt.
{{ var $myProduct = $wsView.info.product }}
<img src="{{= ifnull($myProduct.custom.image.normal, static("images/noImageNormal.png")) }}">

int

Die Funktion int wandelt einen Wert in eine ganze Zahl (Integer) um. Das ist vor allem dann nötig, wenn ein Zahlenwert als Text vorliegt (z.B. “10”) und als echte Zahl weiterverarbeitet werden soll - etwa für Berechnungen oder Vergleiche. Ist die Umwandlung nicht möglich (z.B. bei einem Wort), wird null zurückgegeben. Dezimalzahlen werden auf die ganze Zahl vor dem Komma gekürzt (nicht gerundet). Anwendungsbeispiel
Nutzbar, um z. B. Mengenangaben oder Artikel-IDs, die als Text vorliegen (z.B. “1043”), in eine Zahl umzuwandeln, bevor sie weiterverarbeitet werden.
Signatur
int(value)
Parameter
  • value - Der Wert, der in eine Ganzzahl konvertiert werden soll.
Verwendbar als Modifier
ja
Beispiel mit einem String, der eine Zahl enthält Der Text “10” wird in die Zahl 10 umgewandelt. Mit der Ausgabe wurde der Text in eine Zahl konvertiert, mit der nun gerechnet werden kann.
{{= int("10") }}
Ausgabe
10
Beispiel mit nicht konvertierbarem Wert Ein Wort (in diesem Fall “websale”) kann nicht ein eine Zahl umgewandelt werden - die Ausgabe ist null.
{{= int("websale") }}
Ausgabe
null
Beispiel mit Dezimalzahl
{{= int(10.789) }}
Ausgabe
10

join

Die Funktion join fügt alle Einträge einer Auflistung zu einem String zusammen. Optional kann ein Separator (Trennzeichen) angegeben werden, der die Elemente voneinander trennt. Anwendungsbeispiel
Eignet sich z. B. um Produkteigenschaften, Variantenmerkmale oder Kategorien als zusammenhängenden Text auszugeben – etwa kommasepariert in einer Zeile.
Signatur
join(list[, "separator"])
Parameter
  • list - Die Auflistung, deren Einträge zusammengefügt werden sollen.
  • separator (optional) - Trennzeichen zwischen den Einträgen. Standard: kein Trennzeichen.
Verwendbar als Modifier
ja
Beispiel ohne Separator
{{= join(["S", "M", "L", "XL"]) }}
Ausgabe
SMLXL
Beispiel mit Separator
{{= join(["S", "M", "L", "XL"], ", ") }}
Ausgabe
S, M, L, XL
Beispiel - verfügbare Farben eines Produkts als Text ausgeben
Die Varianten-Daten eines Produkts werden über $wsProducts.variantInfo() geladen. Das Attribut “Farbe” enthält eine Auflistung von Optionen (hier: “Rot”, “Blau”, “Grün”). Die Farbnamen werden in einer Schleife gesammelt, mit push in einer Auflistung gesammelt und mit join zu einem lesbaren Text zusammengefügt.
{{ var $myVariants = $wsProducts.variantInfo("100-12345") }}
{{ var $colors = [] }}
{{ for $myOption in $myVariants.variantAttributes[0].options }}
  {{ push($colors, $option.name) }}
{{ /for }}
<p>Verfügbare Farben: {{= join($colors, ", ") }}</p>
Ausgabe
Verfügbare Farben: Rot, Blau, Grün
Gegenstück
split

json

Die Funktion json gibt ein Datenobjekt in der technischen JSON-Schreibweise aus – einem standardisierten Textformat, das sich leicht maschinell verarbeiten lässt. Anwendungsbeispiel
Nützlich zum Fehlersuchen (Debugging) im Template oder bei der Weitergabe von Daten an externe Dienste (z. B. Tracking, Analytics).
Signatur
json(object)
Parameter
  • object - Das Objekt, das als JSON-String ausgegeben werden soll.
Verwendbar als Modifier
ja
Beispiel - Ausgabe von Produktdaten zur Fehlersuche
{{ var $product = $wsView.info.product }}
<pre>{{= json($product) }}</pre>
Ausgabe
{"name":"Sneaker Classic","price":89.95,"sku":"SNK-001","sizes":["40","41","42"]}
Es werden nicht mehr als fünf Ebenen ausgegeben. Tiefere Ebenen werden als “…” dargestellt.

keys

Die Funktion keys gibt alle Bezeichner (Schlüssel) eines Datenobjekts (Map) als Auflistung zurück. Eine Map besteht aus Paaren von Bezeichnern und Werten – z. B. {name: "Topseller", price: 12.99}. Mit keys lassen sich gezielt die Bezeichner auslesen. Anwendungsbeispiel
Nutzbar, um z. B. über alle Einträge eines Datenobjekts zu gehen und sowohl die Bezeichner als auch die zugehörigen Werte im Template anzuzeigen – etwa bei dynamisch aufgebauten Produktdaten oder Konfigurationseinstellungen.
Signatur
keys(object)
Parameter
  • object - Das Datenobjekt, dessen Bezeichner (Schlüssel) zurückgegeben werden sollen.
Verwendbar als Modifier
ja
Beispiel
{{= keys({name: "Topseller", price: 12.99, description: "Beschreibung"}) }}
Ausgabe
["description","price","name"]

last

Die Funktion last gibt den letzten Eintrag einer Auflistung (List) zurück. Anwendungsbeispiel
Nutzbar, um z.B. die letzte Bestellposition, den letzten Breadcrumb-Eintrag oder das letzte Element einer Variantenliste gezielt anzuzeigen.
Signatur
last(list)
Parameter
  • list - die Auflistung, deren letzter Eintrag zurückgegeben werden soll.
Verwendbar als Modifier
ja
Beispiel
{{= last(["a", "b", "c", "d"]) }}
Ausgabe
d
Beispiel - Letzten Breadcrumb-Eintrag als aktuelle Kategorie anzeigen
Der Kategoriepfad (Breadcrumb) wird über $wsCategories.loadPath() als Auflistung geladen. Mit last wird der letzte Eintrag gezielt ausgelesen, da dieser der aktuellen Kategorie entspricht.
{{ var $myBreadcrumb = $wsCategories.loadPath($category.id) }}
<p>Kategorie: {{= last($myBreadcrumb).name }}</p>
Ausgabe
Sneaker

len

Die Funktion len ermittelt die Länge, also die Anzahl der Zeichen bei einem Text, die Anzahl der Einträge bei einer Auflistung oder die Anzahl der Schlüssel-Wert-Paare bei einem Datenobjekt. Anwendungsbeispiel
Nutzbar, um z.B. die Anzahl von Produkten in einer Liste zu zählen, die Zeichenlänge einer Eingabe zu prüfen oder um festzustellen, wie viele Einträge ein Datenobjekt enthält.
Signatur
len(sequence)
Parameter
  • sequence - Text, Auflistung oder Datenobjekt, dessen Länge ermittelt werden soll.
Verwendbar als Modifier
ja
Beispiel mit Text
{{= len("abc def. XYZ") }}
Ausgabe (Anzahl der Zeichen)
12
Beispiel mit Auflistung
{{= len([1, 2, 3]) }}
Ausgabe (Anzahl der Einträge)
3
Beispiel mit Datenobjekt
{{= len({name: "Produkt", price: 12.99}) }}
Ausgabe (Anzahl der Schlüssel-Wert-Paare)
2
Beispiel - Anzahl der Produkte in einer Kategorie anzeigen
Die Produkte einer Kategorie werden über $wsCategories.loadProducts() geladen (hier: 24 Produkte in der Kategorie). Mit len wird die Anzahl ermittelt.
{{ var $products = $wsCategories.loadProducts("100-12345") }}
<p>{{= len($products) }} Produkte gefunden</p>
Ausgabe
24 Produkte gefunden

lower

Die Funktion lower wandelt alle Buchstaben eines Textes in Kleinbuchstaben um. Anwendungsbeispiel
Nutzbar, um z.B. Benutzereingaben, Gutscheincodes oder Produktkennungen einheitlich in Kleinschreibung darzustellen oder zu vergleichen.
Signatur
lower(content)
Parameter
  • content - der Text, der in Kleinbuchstaben umgewandelt werden soll.
Verwendbar als Modifier
ja
Beispiel
{{= lower("TOPSELLER") }}
Ausgabe
topseller
Gegenstück
upper

max

Die Funktion max gibt den höchsten Wert aus einer Auflistung von Zahlen zurück. Anwendungsbeispiel
Nutzbar, um z.B. den teuersten Preis innerhalb einer Variantenliste oder die höchste verfügbare Menge zu ermitteln.
Signatur
max(list)
Parameter
  • list - die Auflistung mit Zahlenwerten.
Verwendbar als Modifier
ja
Beispiel
{{= max([5, 13, -1, 3, 2, -7, 12]) }}
Ausgabe
13
Beispiel - Höchsten Bestellwert aus der Bestellhistorie ermitteln
Die letzten Bestellungen eines Kunden werden über $wsOrderHistory.loadList() geladen. Jede Bestellung enthält u. a. das Feld order.total (Gesamtpreis). Die geladenen Bestellwerte werden mit push in einer eigenen Auflistung gesammelt und anschließend mit max der höchste Wert ermittelt.
{{ var $myOrders = $wsOrderHistory.loadList() }}
{{ var $myTotals = [] }}
{{ for $myOrder in $myOrders }}
  {{ push($myTotals, $myOrder.order.total) }}
{{ /for }}
<p>Ihre höchste Bestellung: {{= max($myTotals) | currency }} €</p>
Ausgabe (bei Bestellwerten 49.90, 129.00, 89.95):
Ihre höchste Bestellung: 129,00 €
Gegenstück
min

merge

Die Funktion merge führt zwei Datenobjekte (Maps) zusammen. Die Einträge aus dem zweiten Objekt (source) werden in das erste Objekt (target) übernommen. Bei Listen werden die Einträge der zweiten Liste an die erste angehängt. Es wird kein neues Objekt erzeugt, das erste Objekt wird direkt verändert. Für Maps steht optional der Parameter deep zur Verfügung. Bei deep=true werden verschachtelte Maps ebenfalls zusammengeführt, anstatt überschrieben zu werden. Anwendungsbeispiel
Nutzbar, um z.B. Standardwerte für die Produktanzeige mit produktspezifischen Werten zusammenzuführen. So können z.B. Standardtext oder Fallback-Bilder definiert werden, die nur dann zum Einsatz kommen, wenn ein Produkt keinen eigenen Wert hat.
Signatur
merge(target, source[, deep=false])
Parameter
  • target - das Ziel-Objekt, in das die Einträge eingefügt werden.
  • source - das Quell-Objekt, dessen Einträge übernommen werden.
  • deep (optional) - nur für Maps. Bei true werden verschachtelte Maps ebenfalls zusammengeführt.
Verwendbar als Modifier
ja
Beispiel - Standardwerte mit produktspezifischen Daten zusammenführen
{{ var $defaults = {"badge": "Neu", "shipping": "Standardversand"} }}
{{ var $productData = {"badge": "Sale", "color": "rot"} }}
{{= merge($defaults, $productData) }}
Ausgabe
{"badge": "Sale", "shipping": "Standardversand", "color": "rot"}
Wenn beide Objekte denselben Bezeichner (Schlüssel) enthalten, wird der Wert aus dem ersten Objekt durch den Wert aus dem zweiten Objekt überschrieben.
Beispiel - Produktdaten mit verschachtelten Standardwerten zusammenführen (deep merge) Standardwerte für ein Produkt enthalten auch verschachtelte Bilddaten (image). Mit deep=true werden diese beim Zusammenführen nicht vollständig überschrieben, sondern ebenfalls zusammengeführt - sodass nur die tatsächlich vom Produkt gelieferten Bildpfade übernommen werden, fehlende aber durch den Standardwert erhalten bleiben.
{{ var $defaults = {"badge": "Neu", "shipping": "Standardversand", "image": {"normal": "noImageNormal.png", "thumb": "noImageThumb.png"}} }}
{{ var $productData = {"badge": "Sale", "image": {"normal": "sneaker-normal.png"}} }}
{{= merge($defaults, $productData, true) }}
Ausgabe (das Thumbnail aus den Standardwerten bleibt erhalten, weil das Produkt keines mitliefert)
{"badge": "Sale", "shipping": "Standardversand", "image": {"normal": "sneaker-normal.png", "thumb": "noImageThumb.png"}}

min

Die Funktion min gibt den niedrigsten Wert aus einer Auflistung von Zahlen zurück. Anwendungsbeispiel
Nutzbar, um z.B. den günstigsten Preis innerhalb einer Variantenliste oder den kleinsten Bestand zu ermitteln.
Signatur
min(list)
Parameter
  • list - die Auflistung mit Zahlenwerten.
Verwendbar als Modifier
ja
Beispiel
{{= min([5, 13, -1, 3, 2, -7, 12]) }}
Ausgabe
-7
Beispiel - Niedrigsten Bestellwert aus der Bestellhistorie ermitteln
Die letzten Bestellungen eines Kunden werden über $wsOrderHistory.loadList() geladen. Jede Bestellung enthält u. a. das Feld order.total (Gesamtpreis). Die Bestellwerte werden mit push in einer eigenen Auflistung gesammelt, anschließend wird mit min der niedrigste Wert ermittelt.
{{ var $myOrders = $wsOrderHistory.loadList() }}
{{ var $myTotals = [] }}
{{ for $myOrder in $myOrders }}
  {{ push($myTotals, $myOrder.order.total) }}
{{ /for }}
<p>Ihre niedrigste Bestellung: {{= min($myTotals) | currency }} €</p>
Ausgabe (bei Bestellwerten 49.90, 129.00, 89.95):
Ihre niedrigste Bestellung: 49,90 €
Gegenstück
max

preparedFormat

Die Funktion preparedFormat formatiert eine Zahl hinsichtlich Dezimaltrennzeichen und Nachkommastellen, basierend auf einem im Shop hinterlegten Format. Anwendungsbeispiel Nutzbar, um z.B. Mengenangaben, Gewichte oder andere Zahlenwerte shopgerecht darzustellen. Signatur
preparedFormat(number, formatName)
Parameter
  • number - Die Zahl, die formatiert werden soll.
  • name - Name des im Shop konfigurierten Formats (z.B. “amount”).
Verwendbar als Modifier
ja
Beispiel
{{= preparedFormat(3.5, "amount") }}
Ausgabe (amount formatiert hier auf ganze Zahlen)
4
Beispiel - Produktgewicht formatiert ausgeben
Das Gewicht eines Produkts ist im Feld $myProduct.custom.weight als Dezimalzahl gespeichert (hier: 2.300000). Mit preparedFormat wird es gemäß dem im Shop hinterlegten Format "weight" ausgegeben.
{{ var $weight = $myProduct.custom.weight }}
<p>Gewicht: {{= preparedFormat($weight, "weight") }} kg</p>
Ausgabe (bei einem Gewicht von 2.300000 und Format "weight" mit einer Nachkommastelle):
Gewicht: 2,3 kg

push

Die Funktion push fügt ein neues Element am Ende einer bestehenden Liste hinzu und gibt die neue Anzahl der Einträge in der Auflistung zurück. Die Liste wird dabei direkt verändert, es wird keine neue Liste erzeugt. Anwendungsbeispiel
Nutzbar, um z.B. in einer Schleife gezielt Einträge zu sammeln, etwa gefilterte Produkte, Fehlermeldungen oder dynamisch zusammengestellte Ausgabelisten.
Signatur
push(list, element)
Parameter
  • list - Die Auflistung, an die das neue Element angehängt werden soll.
  • element - Der Wert, der hinzugefügt werden soll.
Verwendbar als Modifier
ja
Beispiel - Element hinzufügen
{{ var $myWishlist = ["ART-100", "ART-205"] }}
{{ push($myWishlist, "ART-310") }}
{{= $myWishlist }}
Ausgabe
["ART-100", "ART-205", "ART-310"]
Beispiel - Rückgabewert nutzen
{{ var $myWishlist = [] }}
{{ push($myWishlist, "ART-100") }}
{{ var $amount = push($myWishlist, "ART-205") }}
{{= $amount }}
Ausgabe (Anzahl der Einträge nach dem Hinzufügen)
2
Beispiel - Produkte einer Kategorie laden und Produkte aus einer anderen Kategorie ergänzen
Die Produkte einer Kategorie werden über $wsCategories.loadProducts() als Auflistung geladen. Mit push können Produkte aus einer zweiten Kategorie an die Liste angehängt werden - z.B. um Cross-Selling-Artikel in die Ausgabe aufzunehmen.
{{ var $myProducts = $wsCategories.loadProducts("100-12345") }}
{{ var $myCrossSelling = $wsCategories.loadProducts("100-99999") }}
{{ for $item in $myCrossSelling }}
  {{ push($myProducts, $item) }}
{{ /for }}
{{ for $product in $myProducts }}
  <p>{{= $product.name }}</p>
{{ /for }}
Die Auflistung $myProducts enthält nun alle Produkte der ersten Kategorie plus die Produkte aus der Cross-Selling-Kategorie.

random

Die Funktion random erzeugt einen Zufallswert. Anwendungsbeispiel
Nutzbar, um z.B. zufällige Gutscheincodes zu Erzeugen.
Hinweis
Die Funktion ist geplant, wird aber momentan noch nicht unterstützt.

range

Die Funktion range erzeugt eine Auflistung von aufeinanderfolgenden ganzen Zahlen - vom Startwert bis zum Endwert. Standardmäßig wird in Einserschritten gezählt. Bei absteigenden Reihen muss eine negative Schrittweite angegeben werden. Anwendungsbeispiel
Nutzbar, um z.B. Seitenumbrüche (Pagination), Mengenwähler oder nummerierte Ausgaben im Template zu erzeugen.
Signatur
range(start, stop[, step=1])
Parameter
  • start - Startwert der Zahlenreihe.
  • stop - Endwert der Zahlenreihe.
  • step (optional) - Schrittweite (Standard: 1). Für absteigend zählende Reihen einen negativen Wert verwenden.
Verwendbar als Modifier
nein
Beispiel für eine aufsteigende Reihe
{{= range(1, 5) }}
Ausgabe
[1, 2, 3, 4, 5]
Beispiel für eine absteigende Reihe
{{= range(10, 2, -2) }}
Ausgabe
[10, 8, 6, 4, 2]

raw

Die Funktion raw gibt einen Wert ohne automatische Bereinigung von HTML-Zeichen aus, sodass enthaltener HTML-Code vom Browser als Formatierung interpretiert wird, statt als reiner Text an gezeigt zu werden. Anwendungsbeispiel
Nutzbar, um z.B. formatierte Produktbeschreibungen oder CMS-Inhalte mit HTML-Markup unverändert im Shop darzustellen.
Hinweis
Die Funktion ist geplant, wird aber momentan noch nicht unterstützt.

replace

Die Funktion replace ersetzt in einem Text alle Vorkommen eines Suchbegriffs durch einen anderen Text. Anwendungsbeispiel
Nutzbar, um z.B. interne Bezeichnung für die Anzeige im Shop leserlicher zu machen.
Signatur
replace(string, search, replace)
Parameter
  • content - Der Ausgangstext.
  • search - Der Text, der gesucht und ersetzt werden soll.
  • replace - Der Text, der stattdessen eingesetzt werden soll.
Verwendbar als Modifier
ja
Beispiel
{{= replace("webbuy", "buy", "sale") }}
Ausgabe
websale

reverse

Die Funktion reverse kehrt die Reihenfolge der Zeichen in einem Text oder der Einträge in einer Auflistung um. Anwendungsbeispiel
Nutzbar, um z.B. eine bestehende Sortierung umzukehren oder Einträge in umgekehrter Reihenfolge auszugeben (z.B. neueste Einträge zuerst).
Hinweis
Die Funktion ist geplant, wird aber momentan noch nicht unterstützt.

round

Die Funktion round rundet eine Zahl kaufmännisch auf oder ab. Optional kann die gewünschte Anzahl an Nachkommastellen angegeben werden. Ohne Angabe wird auf eine ganze Zahl gerundet. Anwendungsbeispiel
Nutzbar, um z.B. berechnete Zwischenwerte, Gewichte oder Mengen kaufmännisch gerundet im Template anzuzeigen.
Signatur
round(number[, precision=0])
Parameter
  • number - Die Zahl, die gerundet werden soll.
  • precision (optional) - Gewünschte Anzahl an Nachkommastellen (Standard: 0).
Verwendbar als Modifier
ja
Beispiel ohne Nachkommastellen
{{= round(3.1415) }}
Ausgabe
3.000000
Beispiel mit 2 Nachkommastellen
{{= round(1.2345, 2) }}
Ausgabe
1.230000
Anzeige mit zwei Nachkommastellen Der Parameter precision steuert die mathematische Rundung (auf wie viele Nachkommastellen der Wert gerundet wird). Die Ausgabe zeigt jedoch systembedingt immer bis zu sechs Nachkommastellen an (z.B: 1.230000 statt 1.23). Um die Darstellung anzupassen (z.B. nur 2 sichtbare Nachkommastellen), wird round in Kombination mit preparedFormat verwendet:
{{= round(1.2345, 2) | preparedFormat("name") }}

sort

Die Funktion sort sortiert die Einträge einer Auflistung (List). Standardmäßig wird aufsteigend sortiert. Mit dem optionalen Parameter reverse kann die Sortierung aber auch umgekehrt werden. Anwendungsbeispiel
Nutzbar, um z.B. Produktlisten, Varianten oder Filteroptionen alphabetisch oder nach Zahlenwert zu sortieren.
Signatur
sort(list[, reverse=false])
Parameter
  • list - Die Auflistung, deren Einträge sortiert werden sollen.
  • reverse(optional) - Bei true wird absteigend sortiert.
Verwendbar als Modifier
ja
Beispiel mit Zahlen
{{= sort([5, 2, 8, 1, 4]) }}
Ausgabe
[1, 2, 4, 5, 8]
Beispiel mit Texten
{{= sort(["Hose", "Accessoire", "Jacke"]) }}
Ausgabe
["Accessoire", "Hose", "Jacke"]
Beispiel - Preise absteigend sortieren Wenn die Liste nur aus Zahlen besteht, werden alle Elemente nach der Sortierung den Typ float haben.
{{ var $prices = [49.90, 129.00, 19.95, 89.95] }}
{{= sort($prices, true) }}
Ausgabe
[129.000000, 89.950000, 49.900000, 19.950000]
Beispiel - Verfügbare Farben eines Produkts alphabetisch sortieren
Die varianten-Daten eines Produkts werden über $wsProducts.variantInfo() geladen. Das Attribut “Farbe” enthält eine Auflistung von Optionen (hier: Rot, Blau, Grün, Beige). Da die Optionen als Objekte vorliegen (z.B. {name: “Rot”}), werden die Namen zunächst mit push in einer eigenen Auflistung gesammelt. Anschließend werden sie mit sort alphabetisch sortiert und in einer Schleife ausgegeben.
{{ var $myVariants = $wsProducts.variantInfo("100-12345") }}
{{ var $colors = [] }}
{{ for $myOption in $myVariants.variantAttributes.options }}
  {{ push($colors, $myOption.name) }}
{{ /for }}
{{ var $sortedColors = sort($colors) }}
{{ for $color in $sortedColors }}
  <li>{{= $color }}</li>
{{ /for }}

split

Die Funktion split teilt einen Text anhand eines Trennzeichens in eine Auflistung (List) einzelner Einträge auf. Anwendungsbeispiel
Nutzbar, um z.B. kommaseparierte Werte aus Produktdaten, Konfigurationen oder externen Quellen in einzelne Einträge zu zerlegen und getrennt zu verarbeiten.
Signatur
split(content, separator)
Parameter
  • content - Der Text, der aufgeteilt werden soll.
  • separator - Das Trennzeichen, an dem der Text aufgeteilt wird.
Verwendbar als Modifier
ja
Beispiel
{{= split("vegan,glutenfrei,laktosefrei,bio", ",") }}
Ausgabe
["vegan", "glutenfrei", "laktosefrei", "bio"]
Gegenstück
join

startswith

Die Funktion startswith prüft, ob ein Text mit einer bestimmten Zeichenfolge beginnt und gibt true oder false zurück. Anwendungsbeispiel
Nutzbar, um z.B. Artikelnummern anhand ihrer Anfangszeichen zu unterscheiden und im Template darauf zu reagieren, etwa um Produkte bestimmter Produktgruppen unterschiedlich darzustellen (z.B. alle Artikelnummern, die mit “TKK” beginnen, als Tiefkühlprodukte zu kennzeichnen).
Signatur
startswith(str, prefix)
Parameter
  • str - Der Text, der geprüft werden soll.
  • prefix - Die Zeichenfolge, auf die am Textanfang geprüft wird.
Verwendbar als Modifier
ja
Beispiel mit einem Treffer
{{= startswith("TKK-40210", "TKK") }}
Ausgabe
true
Beispiel ohne Treffer
{{= startswith("BKL-10050", "TKK") }}
Ausgabe
false
Beispiel - Produkte anhand der Artikelnummer einer Produktgruppe zuordnen Die Artikelnummer eines Produkts steht im Feld itemNumber (hier: “TKK-40210”). Artikelnummern, die mit “TKK” beginnen, gehören zur Produktgruppe Tiefkühlware. Mit startswith wird dies geprüft und ein entsprechendes Badge angezeigt.
{{ var $myProduct = $wsProducts.load("100-12345") }}
{{ if (startswith($myProduct.itemNumber, "TKK")) }}
  <span>Tiefkühlprodukt</span>
{{ /if }}
Ausgabe (bei Artikelnummer “TKK-40210”)
Tiefkühlprodukt

static

Die Funktion static erzeugt den vollständigen Pfad zu einer statischen Datei (z.B. JavaScript, CSS, Bilder). Standardmäßig liegen solche Dateien unter media/themes/default auf dem Server des Shops. Anwendungsbeispiel
Nutzbar, um z.B. Pfade zu statischen Dateien im Template korrekt einzubinden - auch, wenn sich der Speicherort später ändert.
Signatur
static(path)
Parameter
  • path - Pfad zur Datei, relativ zum Static-Verzeichnis des Shops.
Verwendbar als Modifier
nein
Beispiel
Statt eines fest eingetragenen Pfads:
<script src="media/themes/default/scripts/core.js"></script>
wird empfohlen, static zu verwenden:
<script src="{{= static('scripts/core.js') }}"></script>
Durch die konsequente Nutzung von static kann der Speicherort der statischen Dateien jederzeit angepasst werden (z.B. auf einen Media-Server oder ein CDN), ohne dass die Templates geändert werden müssen. Bei Kategorie- oder Produktbildern wird static nicht benötigt - deren Pfade werden automatisch korrekt erzeugt.

str

Die Funktion str wandelt einen Wert in einen Text (String) um. Das Ergebnis sieht bei Zahlen zwar identisch aus, ist intern aber ein String - also kein Zahlenwert mehr, mit dem gerechnet werden könnte. Stattdessen kann der Wert danach mit textbasierten Funktionen wie replace, startswith oder split weiterverarbeitet werden. Anwendungsbeispiel
Nutzbar, um z.B. eine Artikelnummer, die als Zahl vorliegt, in einen Text umzuwandeln, damit anschließend mit startswith geprüft werden kann, ob sie mit einer bestimmten Zeichenfolge beginnt.
Signatur
str(value)
Parameter
  • value - Der Wert, der in Text umgewandelt werden soll.
Verwendbar als Modifier
ja
Beispiel mit ganzer Zahl
{{= str(42) }}
Ausgabe
"42"
Beispiel mit Dezimalzahl
{{= str(12.99) }}
Ausgabe
"12.99"

striphtml

Die Funktion striphtml entfernt alle HTML-Formatierungen (Tags) aus einem Text und gibt nur den reinen Textinhalt zurück. Anwendungsbeispiel
Nutzbar, um z.B. HTML-formatierte Produktbeschreibungen als reinen Text auszugeben.
Signatur
striphtml(content)
Parameter
  • content - Der Text, aus dem die HTML-Formatierungen entfernt werden sollen.
Verwendbar als Modifier
ja
Beispiel
{{= striphtml("<p>Unser <strong>Topseller</strong> im Shop!</p>") }}
Ausgabe
Unser Topseller im Shop!

take

Die Funktion take gibt die ersten Zeichen eines Textes oder die ersten Einträge einer Auflistung zurück. Anwendungsbeispiel
Nutzbar, um z.B. nur die ersten Zeichen eines Produktnamens oder die ersten Einträge einer Produktliste anzuzeigen.
Signatur
take(content, count)
Parameter
  • content - Der Text oder die Auflistung, aus der die ersten Elemente entnommen werden sollen.
  • count - die Anzahl der Zeichen bzw. Einträge, die vom Anfang genommen werden.
Verwendbar als Modifier
ja
Beispiel mit Text
{{= take("websale", 3) }}
Ausgabe
web
Beispiel mit Auflistung
{{= take([1, 2, 3, 4, 5], 3) }}
Ausgabe
[1, 2, 3]
Beispiel - Nur die ersten 4 Produkte einer Kategorie anzeigen
Die Produkte einer Kategorie werden über $wsCategories.loadProducts() als Auflistung geladen (hier: 24 Produkte). Mit take werden in diesem Beispiel nur die ersten 3 Einträge entnommen und in einer Schleife als Teaser ausgegeben.
{{ var $myProducts = $wsCategories.loadProducts("100-12345") }}
{{ var $myTopProducts = take($myProducts, 3) }}
{{ for $product in $myTopProducts }}
  {{= $product.name }}
{{ /for }}
Ausgabe (bei Produkten "Sneaker Classic", "Laufschuh Pro", "Sandale Sport", "Wanderstiefel", …)
Sneaker Classic
Laufschuh Pro
Sandale Sport
Gegenstück
takelast

takelast

Die Funktion takelast gibt die letzten Zeichen eines Textes oder die letzten Einträge einer Auflistung zurück. Anwendungsbeispiel
Nutzbar, um z.B. die letzten Zeichen einer Bestellnummer oder die letzten Einträge einer Liste gezielt anzuzeigen.
Signatur
takeLast(content, count)
Parameter
  • content - Der Text oder die Auflistung, aus der die letzten Elemente entnommen werden sollen.
  • count - Die Anzahl der Zeichen bzw. Einträge, die vom Ende genommen werden.
Verwendbar als Modifier
ja
Beispiel mit Text
{{= takeLast("12345", 2) }}
Ausgabe
45
Beispiel mit Auflistung
{{= takeLast([1, 2, 3, 4, 5], 2) }}
Ausgabe
[4, 5]
Beispiel - Die letzten 2 Ebenen des Breadcrumb-Pfads anzeigen
Der Kategoriepfad (Breadcrumb) wird über $wsCategories.loadPath() als Auflistung geladen (hier: 4 Ebenen). Mit takeLast werden nur die letzten 2 Einträge entnommen - z.B. um in einer Unternavigation nur die aktuelle und die übergeordnete Kategorie anzuzeigen.
{{ var $breadcrumb = $wsCategories.loadPath($category.id) }}
{{ var $lastTwo = takeLast($breadcrumb, 2) }}
{{ for $cat in $lastTwo }}
  {{= $wsViews.url('Category', {id: $cat.id}) }}">{{= $cat.name }}
{{ /for }}
Ausgabe (bei einem Pfad “Startseite → Damen → Schuhe → Sneaker”):
Schuhe
Sneaker
Gegenstück
take

trim

Die Funktion trim entfernt überflüssige Leerzeichen am Anfang und Ende eines Textes. Anwendungsbeispiel
Nutzbar, um z.B. Benutzereingaben, importierte Produktdaten oder externe Werte vor der Weiterverarbeitung von ungewollten Leerzeichen zu bereinigen.
Hinweis
Die Funktion ist geplant, wird aber momentan noch nicht unterstützt.

type

Die Funktion type Gibt den Datentyp eines Wertes als Text zurück - also z. B. ob es sich um einen Text (string), eine ganze Zahl (int), eine Dezimalzahl (float), eine Auflistung (list) oder ein Datenobjekt (map) handelt. Anwendungsbeispiel
Nutzbar, um z.B. auf Fehlersuche zu gehen (Debugging) oder um im Template zu prüfen, ob ein Wert den erwarteten Typ hat, bevor er weiterverarbeitet wird.
Signatur
type(object)
Parameter
  • object - Der Wert, dessen Datentyp ermittelt werden soll.
Verwendbar als Modifier
ja
Beispiel anhand eines Textes
{{= type("Websale") }}
Ausgabe
String
Beispiel anhand einer Kommazahl
{{= type(1.27) }}
Ausgabe
Float

upper

Die Funktion upper wandelt alle Buchstaben eines Textes in Großbuchstaben um. Anwendungsbeispiel
Nutzbar, um z.B. Gutscheincodes, Versandarten oder Überschriften einheitlich und in Großschreibung darzustellen.
Signatur
upper(content)
Parameter
  • content - Der Text, der in Großbuchstaben umgewandelt werden soll.
Verwendbar als Modifier
ja
Beispiel
{{= upper("Topseller") }}
Ausgabe
TOPSELLER
Gegenstück
lower

Modifier

Viele Funktionen können alternativ auch als Modifier (Filter) in der Filterschreibweise verwendet werden. Dabei steht der erste Parameter links vom Pipe-Operator |, weitere Parameter werden in Klammern angegeben. Alternativ kann eine Funktion auch mit dem Filter-Operator | (pipe) notiert werden (= Filterschreibweise). Dabei steht der erste Parameter links vom Operator. Beispiel
{{= "webbuy" | replace("buy", "sale") }}
Ausgabe
websale