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.
hast du es so wie du es beschrieben hast schon mal ausprobiert? Weil wenn ich es so wie du es schreibst probiere, klappt es schon.
Siehe in der Spalte Beispiel: Mapping - Transformy
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.
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.
Snippet erstellen: Im Beispiel ist der Key nur eine Zahl (1,2,usw.) statt „shop1“, „shop2“
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.
Ich habe gerade ein bißchen getestet damit und bin nicht komplett erfolgreich - daher erstmal kurz mein Aufbau und dann die Frage:
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:
…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
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.
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.