Variabeln in Mappingsets

Hallo Community

Ich würde gerne ein Mappingset mit verschiedenen URL-Schemen erstellen um dieses in einem Mapper zu verwenden.

Beispiel Mappingset:
shop1=https://meinonlineshop1.com/${ItemTextsUrlPath!}${ItemID!}${VariantID!}
shop2=https://meinonlineshop2.com/${ItemTextsUrlPath!}

Nur zur eigentlichen Frage, gibt es eine Möglichkeit, dass Variabeln aus dem Mappingset im Mapper aufgelöst werden können?

Einziger Workaround der mir gerade einfällt wäre sonst mit einem Snippet zu arbeiten.
Aber ich hätte eigentlich gerne das Mappingset genutzt. :smile:

Vielen Dank für ein Feedback.

Schöne Grüsse
Phil

Hallo @pbuechler,

hast du es so wie du es beschrieben hast schon mal ausprobiert? :smiley: Weil wenn ich es so wie du es schreibst probiere, klappt es schon.
Siehe in der Spalte Beispiel: Mapping - Transformy

1 Like

Hallo @LukasK, vielen Dank! Das bedeutet über «Mappingset String» funktioniert es aber nicht über ein gespeichertes Mappingset unter Data Management. Da hatte ich es in meinem Test hinterlegt.
Somit verliert es aber den Reiz für eine «zentrale» Verwaltung. :slight_smile:

Ein Snippet vom Typ FREEMARKER_MACRO mit definierten Parametern sollte für eine „zentrale Verwaltung“ auch funktionieren. Es lässt sich ähnlich wie ein Mappingset per Textfeld pflegen.

  1. Snippet erstellen: Im Beispiel ist der Key nur eine Zahl (1,2,usw.) statt „shop1“, „shop2“

  1. Das Snippet in der entsprechenden Spalte bei Mappingset String aufrufen:

Hier werden die entsprechenden Spalten als Parameter var1, var2 und var3 in das Snippet hinein gegeben. Der Vorteil von diesem Ansatz: Das Snippet lässt sich in verschiedensten Mappern & Spreadsheets verwenden, auch wenn die für die URL relevanten Spalten komplett anders heißen.

  1. Hier ein Beispiel vom Ergebnis:

1 Like

Vielen Dank! Habe es nun so umgesetzt!

Ich habe gerade ein bißchen getestet damit und bin nicht komplett erfolgreich - daher erstmal kurz mein Aufbau und dann die Frage:

  1. Snippet so angelegt wie in Deinem Beispiel. In meinem Mapper heißen die Spalten anders, daher habe ich im Mappingstring eingegeben:
    <@my.mappingset ItemID VariantID ItemTextsName1 />
    Für eine Zeile mit input=1 kommt aber folgendes heraus:
    https://meinonlineshop1.com/1001/Maskenspiegel im Alukoffer/
    Es fehlt die ItemID! Hier die Ausgangsdaten:

  2. Ein neues Snippet angelegt, var1 bis var3 direkt so benannt wie nachher verrwendet werden soll, also
    image
    Im Mapper dann ohne Parameter referenziert, also
    image
    Und so erhalte ich auch das korrekte Ergebnis:
    https://meinonlineshop1.com/1000001/1001/Maskenspiegel im Alukoffer

Die Frage logischerweise: Warum wird im ersten Beispiel der erste Parameter (ItemID) nicht eingefügt?

Gruß Micha

…und kaum hatte ich es geschrieben, habe ich auch die Lösung: Da ich keinen Input habe, muß ich in eurem Beispiel den Aufruf um ein „“ ergänzen, also:
<@my.mappingset „“ ItemID VariantID ItemTextsName1 />

@spawn lösche bitte in deinem Makro einmal den Parameter «input1» der wird standardmässig angelegt.
Danach wird es auch ohne „“ klappen.
In deinem Beispiel erwartet das Makro einen Wert für input1 als erstes.
LG Phil

Das hatte ich vorhin als erstes probiert - danach war aber nicht der input weg, sondern var3

@spawn

Wenn Felder im Mapper mit dem gleichen Namen wie im Makro vorhanden sind, wird es ohne Parameterübergabe funktionieren. Ich habe mir aber angewöhnt die Parameter immer strikt zu übergeben.
Die Reihenfolge der Parameter ist dabei auch wichtig!
Daher ist es wichtig in welcher Reihenfolge die Parameter im Makro angelegt wurden.

Beispiel Makro:

Paremeter

var1 
var2
var3

Snippet

value1=https://meinonlineshop1.com/${var1}_${var2}_${var3}
value2=https://meinonlineshop1.com/${var1}

Mapping-String:
<@my.getShopProductUrlMacro mapperFeld1 mapperFeld2 mapperFeld3 />

Auflösung:
var1 = mapperFeld1
var2 = mapperFeld2
var3 = mapperFeld3

Falls du die Reihenfolge im Aufruf im Mapping-String verändert, werden die Parameter vom Makro natürlich anders gesetzt.

Kannst du einen Screenshot deines Makro Inhalts posten?

Danke für Deine Mühe! Ich habe das Snippet mit den direkten Spaltennamen ja nur als Test angelegt, um zu sehen, ob es sich dann anders verhält als mit den Parametern. Generell will ich natürlich mit allgemeinen Parametern arbeiten, sonst ergibt das ja auch kaum Sinn. Wenn ich da immer die doppelten Anführungszeichen setzen muß, damit mir der erste Parameter nicht flöten geht, ist’s nicht schlimm - Thema ist also erstmal vom Tisch.

Gruß Micha

1 Like