Ich nutze den Step ShopwareImport
und habe folgendes Skript bei der mappingdefinition
:
<#-- IDs trimmen und führendes | entfernen -->
<#assign trimmedIds = eigenschaften?trim>
<#if trimmedIds?startsWith("|")>
<#assign trimmedIds = trimmedIds?substring(1)>
</#if>
<#-- Überprüfen, ob IDs vorhanden sind -->
<#assign idArray = trimmedIds?split("|")> <#-- Escape für | hinzufügen -->
<#-- IDs in das gewünschte Format bringen -->
<#if idArray?size gt 0 && idArray[0]?length gt 0>
<#-- Hochkommas um die IDs setzen, aber sicherstellen, dass keine doppelten Anführungszeichen vorhanden sind -->
<#assign jsonArray = idArray?join('","')> <#-- Hochkommas zwischen den IDs -->
<#assign result = "[\"" + jsonArray + "\"]"> <#-- Hochkommas um das gesamte Array -->
<#else>
<#assign result = ""> <#-- leeres Array, wenn keine IDs vorhanden sind -->
</#if>
<#-- Entfernen von inneren doppelten Anführungszeichen -->
<#assign result = result?replace("\"\"", "\"")> <#-- Ersetze "" durch " -->
<#-- Ausgabe -->
${result}
Wenn ich dann links oben auf den blauen Button „Vorschau“ klicke, erhalte ich auch das gewünschte Ergebnis.
["cf013c03078f4099b7449514ad4813a8"]
Wenn ich das nun abspeichere und dann rechts oben auf „Step-Vorschau“ klicke, erhalte ich eine CSV-Datei. Wenn ich bei der CSV-Datei auf „Vorschau“ klicke, werden die Hochkommas dupliziert.
[""cf013c03078f4099b7449514ad4813a8""]
Wenn ich neben dem „Vorschau“ auf „Herunterladen“ klicke, erhalte ich eine CSV. Dort ist das Feld leer
.
Ich kann mir keinen Reim draus machen und habe verschiedene Möglichkeiten ausprobiert. Nichts hilft. Mit einfache Hochkommas '
kann wiederrum Shopware nicht umgehen, wenn ich die propertyIds
übergeben möchte.
Was ist an meinem Code falsch oder liegt bei Synesty ein Fehler vor?