Einführung in Regeln

Der Skript-Editor/Regel-Editor bildet einen integralen Bestandteil bei ChannelBuddy. Hier kannst du beliebige Mappings von Feldern vornehmen um Daten in ChannelBuddy laden oder um Feeds oder automatische Suchanzeigen zu definieren.

Dabei ähnelt der Skript-Editor einer Formel in einem Tabellenkalkulationstool, wobei die Formel nicht nur für eine Zelle sondern für die gesamte Spalte gilt (Anmerkung: natürlich kannst du Formeln auch nur für bestimmte Artikel erstellen – wie, das zeigen wir dir weiter unten im Artikel).

Die Funktion selbst kannst du in das Textfeld schreiben. Funktionen können natürlich verschachtelt sein. Damit du trotzdem stets die Übersicht wahrst, kannst du mehrere Zeilen nutzen oder Teile der Funktion einrücken.

Eine Funktion ist stets wie folgt aufgebaut:

FUNKTIONSNAME(PARAMETER1, PARAMETER2, …)

Mehrere Parameter werden dabei mit einem Komma getrennt. Ein Parameter kann dabei eine weitere Funktion, ein Feld oder ein Text sein. Ein Text wird mit doppeltem Hochkomma umschlossen.

Damit du dir nicht alle Funktionen merken muss, kannst du unter dem Button „Funktion“ alle Funktionen durch Klicken in dein Skript einfügen (die Funktion wird am Ende der Funktion eingefügt). Alternativ kannst du auf das Copy-Icon neben der Funktion klicken, um diese in deine Zwischenablage zu kopieren.

Gleiches kannst du mit Operatoren (z.B. beim Einsatz der WENN-Funktion) durchführen.

Auch die Felder aus deiner Datenquelle kannst du hier abrufen – diese bekommst du unter dem Button Feld angezeigt.

Möchtest du deine Funktion an einem bestimmten Artikel testen, gib diesen im entsprechenden Textfeld ein und klicke auf Testen. Unter dem Button „vollständiger Test“ wird die gesamte Datenquelle durchlaufen und dir pro Artikel das Ergebnis zurückgegeben.

Willst du nochmal die Datenquelle durchstöbern, dann klicke auf Datenquellenansicht.

Regeln

1. BOOL

Syntax: BOOL(Feldname)

Beschreibung: Die Funktion BOOL() wandelt einen Wert in den Datentyp BOOL um – dieser gibt WAHR oder FALSCH zurück und kann für z.B.. WENN-DANN Formeln oder andere konditionale Funktionen genutzt werden. 

Beispiel: BOOL(identifier_exists)

Mögliches Ergebnis: WAHR

Ergebnisdatentyp: WAHR oder FALSCH

2. ENTFERNEHTML

Syntax: ENTFERNEHTML(Feldname)

Beschreibung: Mit der ENTFERNEHTML Funktion kannst du sämtliche HTML Tags entfernen. Diese Funktion ist z.B. geeignet um HTML basierte Artikel-Beschreibungen in reinen Text umzuwandeln, welcher von bestimmten Plattformen / Kanälen vorausgesetzt wird.

Beispiel: ENTFERNEHTML(„<a>Dies ist ein Text</a>“)

Ergebnis: „Dies ist ein Text“

Ergebnisdatentyp: Text

3. ERSETZEN

Syntax: ERSETZEN(Feld_oder_Text, Alter_Text, Neuer_Text)

Beschreibung: Mit der ERSETZEN Funktion kannst du ein Text finden und ersetzen Achtung:  Bei der Suche musst du auf Groß- und Kleinschreibung achten. Hier werden alle Texte ersetzt.

Beispiel: ERSETZEN(“in stock“, “in“, “it is in“)

Ergebnis: „it is in stock“

Ergebnisdatentyp: Text

4. ERSETZENLISTE

Syntax: ERSETZENLISTE(Feld_oder_Text, Alter_Text1, Neuer_Text1, Alter_Text2, Neuer_Text2, …)

Beschreibung: Mit der ERSETZENLISTE kannst du mehrere Texte finden und ersetzen

Beispiel: ERSETZENLISTE(“in stock“, “in“, “it is in“, “stock“, “good condition“)

Ergebnis: „it is in good condition“

Ergebnisdatentyp: Text

5. ERSETZENREGEX

Syntax: ERSETZENREGEX(Feld_oder_Text, Regular Expression, Neuer_Text)

Beschreibung: Die ERSETZENREGEX Funktion ersetzt einen gesuchten Textteil mit einem neuen Text. Der gesuchte Text wird per Regular Expression (Regex) definiert. 

Beispiel: ERSETZENREGEX (“Babysitz“, “^Baby“, “Kinder“)

Ergebnis: „Kindersitz“

Ergebnisdatentyp: Text

6. FELD

Syntax: FELD(Feldname)

Beschreibung: Mit der Funktion Feld kannst du ein bestimmtes Feld des Artikels ausgeben. Gib hierzu den Feldnamen in Klammern als Parameter ein.

Beispiel: FELD(title)

Ergebnis: „TD-17KVX“

Ergebnisdatentyp: Text (im Beispiel) – ansonsten der jeweilige Datentyp des Feldes.

7. FELDEXISTIERT

Syntax: FELDEXISTIERT(Feldname)

Beschreibung: Mit FELDEXISTIERT prüfst du, ob ein Feld existiert. 

Beispiel: FELDEXISTIERT(„id“)

Ergebnis: FALSCH

Ergebnisdatentyp: WAHR oder FALSCH

8. FILTERLISTE

Syntax: FILTERLISTE(Liste, Filtertext)

Beschreibung: Die FILTERLISTE() Funktion filtert eine Liste. Der erste Parameter ist die Liste und der zweite Parameter beinhaltet den Such-Text. Groß-/Kleinschreibung ist zu beachten.

Beispiel: FILTERLISTE([“Babysitz“, “Babyschale“, “ISOFix“], “Baby“)

Ergebnis: [„Babysitz“, „Babyschale“]

Ergebnisdatentyp: LISTE

9. FILTERZEILE

Syntax: FILTERZEILE()

Beschreibung: Die FILTERZEILE() Funktion filtert eine gesamte Zeile aus dem Feed heraus.

Beispiel: WENN(price > 0, price, FILTERZEILE())

Ergebnis: ist der Wert des Feldes price > 0 dann wird der Werte übernommen, ansonsten wird der gesamte Datensatz / Artikel herausgefiltert.

Ergebnisdatentyp: – 

10. FINDEN

Syntax: FINDEN(Suchtext, Text)

Beschreibung: Mit der FINDEN() Funktion kannst du einen Teiltext in einem Text / Feld suchen. Der Rückgabewert ist die Position des ersten Vorkommens des gesuchten Textes.

Beispiel: FINDEN(„Hello, welcome to my world“, „welcome“)

Ergebnis: 8

Ergebnisdatentyp: GANZZAHL

11. FINDEWERTEPAARINLISTE

Syntax: FINDEWERTEPAARINLISTE()

Beschreibung: Mit FINDEWERTEPAARINLISTE() bekommst du in einer Liste mit mehreren Wertepaaren das  erste Wertepaar mit dem gesuchten Schlüssel zurück.

Beispiel: FINDEWERTEPAARINLISTE(variant_attributes, „name“, „Farbe“)

Ergebnisdatentyp: WERTEPAAR 

12. HEUTE

Syntax: HEUTE()

Beschreibung: Gibt das aktuelle Datum als Text zurück

Beispiel: HEUTE()

Ergebnis: „2021-07-23“

Ergebnistyp: TEXT

13. JOIN

Syntax: JOIN(Liste, Splitzeichen)

Beschreibung: Die JOIN() Funktion wandelt eine Liste in Text um. Das Splitzeichen kann auch eine Zeichenfolge sein (siehe Beispiel).

Beispiel: JOIN([“Babysitz“, “Babyschale“, “ISOFix“], “, “)

Ergebnis: „Babysitz, Babyschale, ISOFix„

Ergebnistyp: TEXT

14. JSON

Syntax: JSON(Text)

Beschreibung: Die JSON() Funktion wandelst du einen Text in ein JSON um.

Beispiel: JSON(„{„key“:“value“}“)

Ergebnis: {„key“:“value“}

Ergebnistyp: JSON

15. LEER

Syntax: LEER()

Beschreibung: Die Funktion LEER() gibt einen leeren Wert (auch NULL oder NONE genannt zurück). Diese kannst du nutzen um z.B. Felder auf LEER zu testen.

Beispiel: WENN(Beschreibung = LEER(), „Alternativtext“, Beschreibung)

Ergebnis: Ist die Beschreibung eines Artikels leer, dann wird „Alterantivtext“ angezeigt.

16. LISTE

Syntax: LISTE(Parameter1, Parameter2, Parameter3, …)

Beschreibung: Die LISTE() Funktion wandelt mehrere Texte in eine Liste um.

Beispiel: LISTE(„Babysitz“, „Babyschale“)

Ergebnis: [„Babysitz“, „Babyschale“]

Ergebnistyp: LISTE

17. LOWER

Syntax: LOWER(Text)

Beschreibung: Die LOWER() Funktion konvertiert alle Großbuchstaben in einem Text in Kleinbuchstaben

Beispiel: LOWER(„BabySitz“)

Ergebnis: „babysitz“

Ergebnistyp: TEXT

18. MAXZEICHEN

Syntax: MAXZEICHEN(Text, Anzahl_Zeichen)

Beschreibung: Mit der MAXZEICHEN() Funktion kannst du angeben, wieviel Zeichen der Text maximal besitzen darf. Überschüssige Zeichen werden abgeschnitten.

Beispiel: MAXZEICHEN(„Babysitze“,4)

Ergebnis: „Baby“

Ergebnistyp: TEXT

19. ODER

Syntax: ODER(Wahrheitswert1, Wahrheitswert2)

Beschreibung: Die Funktion ODER() bestimmt, ob eine der Bedingungen in einer Prüfung WAHR ist. Die Rückgabe ist entweder WAHR oder FALSCH.

Beispiel: ODER(Kanal = “online“, Bestand = “in stock“)

Ergebnistyp: WAHR oder FALSCH

20. RECHNE

Syntax: RECHNE(Zahl, Zahl, Operator)

Beschreibung: Mit der RECHNE Funktion kannst du Berechnungen durchführen. Es gibt die Operatoren +, -, *, /

Beispiel: RECHNE(2, 3, +)

Ergebnis: 5

Ergebnistyp: DEZIMALZAHL

21. RUNDEN

Syntax: RUNDEN(zu rundender Wert, Anzahl_Stellen)

Beschreibung: Mit der Funktion Runden() wird eine Zahl auf eine angegebene Anzahl von Stellen gerundet. 

Beispiel: RUNDEN( 2,123, 2)

Ergebnis: 2,12

Ergebnistyp: DEZIMALZAHL

22. STUNDE

Syntax: STUNDE()

Beschreibung: Gibt die aktuelle Stunde “22“ als Text zurück (24hrs-Format)

Beispiel: STUNDE()

Ergebnis: „22“

Ergebnistyp: TEXT

23. TEIL

Syntax: TEIL(Text, Pos_Start, Anzahl_Zeichen)

Beschreibung: Gibt eine bestimmte Anzahl von Zeichen eines Text aus. Achtung:  Die Position des ersten Zeichen ist erforderlich

Beispiel: TEIL(“image_link“, 6, 20)

Ergebnis: „link“

Ergebnistyp: TEXT

24. TEILEN

Syntax: TEILEN(Text, Splitzeichen)

Beschreibung: Die TEILEN() Funktion wandelt Text in eine Liste um

Beispiel: TEILEN(“Babysitz, Babyschale, ISOFix“, “ ,“)

Ergebnis: [„Babysitz“, „Babyschale“, „ISOFix“]

Ergebnisdatentyp: LISTE

25. TEXT

Syntax: TEXT(Wert, Dezimaltrennzeichen, Tausendertrennzeichen, Anzahl Dezimalstellen)

Beschreibung: Mit der TEXT Funktion kannst du Zahlenwerte in jeder gewünschten Formatierung darstellen Achtung: Der Rückgabewert ist ein Text

Beispiel: TEXT(1000, „.“, „,“,2)

Ergebnis: „1.000,00“

Ergebnisdatentyp: TEXT

26. TEXTLÄNGE

Syntax: TEXTLÄNGE(Text)

Beschreibung: Die TEXTLÄNGE Funktion zeigt dir die Anzahl der Zeichen eines angegebenen Text an

Beispiel: TEXTLÄNGE(“condition“)

Ergebnis: 9

27. TEXTTEILEN

Syntax: TEXTTEILEN(Text, Splitzeichen, x-tes Vorkommen, 0=von links / 1= von rechts)

Beschreibung: Die TEXTTEILEN() Funktion teilt einen Text anhand von Trennzeichen und gibt das x-te Vorkommen zurück

Beispiel: TEXTTEILEN(“Babysitz, Babyschale, ISOFix“, “, “, 1, 1)

Ergebnis: „ISOFix“

Ergebnisdatentyp: TEXT

28. TRIM

Syntax: TRIM(Text)

Beschreibung: Die TRIM Funktion entfernt alle vorangehenden und folgenden Leerzeichen aus einer Textzeichenfolge.

Beispiel: TRIM(“ in stock „)

Ergebnis: „in stock“

Ergebnisdatentyp: TEXT

29. UND

Syntax: UND(Wahrheitswert1, Wahrheitswert2)

Beschreibung: Die Funktion UND() bestimmt, ob alle Bedingungen in einer Prüfung WAHR sind. Die Rückgabe ist entweder wahr oder falsch.

Beispiel: UND(Land = “DE“,  Sprache = “de“)

Ergebnisdatentyp: WAHR oder FALSCH

30. VERKETTEN

Syntax: VERKETTEN(Text1, Text2, Text3, …)

Beschreibung: Du kannst mit der VERKETTEN Funktion zwei oder mehr Texte zu einem Text verbinden.

Beispiel: VERKETTEN(“Ein“, “ “, “Test“)

Ergebnis: „Ein Text“

Ergebnisdatentyp: TEXT

31. WEITER

Syntax: WEITER()

Beschreibung: Die WEITER() Funktion ist ein Platzhalter bzw. lässt das Feld leer

Beispiel: WEITER()

32. WENN

Syntax: WENN(Wahrheitstest, Wert_wenn_wahr, Wert_wenn_falsch)

Beschreibung: Um eine logische Wenn-Dann oder Wenn-Dann-Andernfalls Beziehung aufzubauen nutze die Funktion WENN().

Beispiel: WENN(stock = 0, “nicht verfügbar“, “verfügbar“)

33. WERT

Syntax: WERT(Text, [Dezimaltrennzeichen], [Tausendertrennzeichen])

Beschreibung: Die WERT() Funktion wandelt ein als Text angegebenes Argument in eine Zahl um. Dezimaltrennzeichen und Tausendertrennzeichen sind optionale Felder.

Beispiel: WERT(„22“)

Ergebnis: 22

Ergebnisdatentyp: DEZIMALZAHL

34. WERTAUSLISTE

Syntax: WERTAUSLISTE(Liste, Pos, Richtung)

Beschreibung: Die WERTAUSLISTE() Funktion gibt einen Wert aus einer Liste zurück. Achtung: die Position ist ein Pflichfeld und fängt bei eins an. Die Richtung ist optional 0 (links) und 1 (rechts)

Beispiel: WERTAUSLISTE(([“Babysitz“, “Babyschale“, “ISOFix“], “ 2“, 0)

Ergebnis: Babyschale

35. WERTEPAAR

Syntax: WERTEPAAR(Dictionary, Schlüssel)

Beschreibung: Die WERTEPAAR Funktion gibt aus einem Dictionary den Wert zu einem Schlüssel aus. 

Beispiel: WERTEPAAR({key1:wert1, key2:wert2, key3:wert3}, key2}

Ergebnis: „wert3“

Der Ergebnisdatentyp variiert je nach Ergebnis

36. ZAHL

Syntax: ZAHL(Text, [Dezimaltrennzeichen], [Tausendertrennzeichen])

Beschreibung: Die ZAHL Funktion hilft dir die Formatierung aller möglichen Zahlenwerte zu ändern Achtung: Konvertiert einen Text in eine Zahl um. Die Felder Dezimaltrennzeichen und Tausendertrennzeichen sind optional

Beispiel: ZAHL(“800“)

Beispiel 2: ZAHL(“8,000.00“,“.“,“,“)

37. ZEICHEN

Syntax: ZEICHEN(name_des_zeichens)

Beschreibung: Die ZEICHEN() Funktion gibt ein Sonderzeichen zurück, welches anders nicht dargestellt werden kann. Aktuell können die folgenden Werte genutzt werden: „PIPE“, „HOCHKOMMA“, „DOPPELTES HOCHKOMMA“

Beispiel: ZEICHEN(„PIPE“) Ergebnis: |

38. ZEICHENANZAHL

Syntax: ZEICHENANZAHL(Text)

Beschreibung: Die ZEICHENANZAHL() Funktion gibt die Anzahl der Zeichen inklusive Leerzeichen und Satzzeichen eines Textes zurück.

Beispiel: ZEICHENANZAHL(„Hello World“)

Ergebnis: 11

Ergebnisdatentyp: GANZZAHL