Hallo liebe Community!
Ich habe zwei Anforderungen beim Importieren von XML-Dateien via der Import-Export Advanced Plugins:
-
In meiner XML-Datei gibt es einen Zweig" namens „ProductOnlineStatus“ der entweder mit „true“ oder „false“ befüllt ist. Dieser Wert wird der Shopware-Variable „active“ zu geordnet und einer Import-Konvertierung zugeteilt. Diese Konvertierung lautet wie folgt:
{if $active == ‚true‘}1{else}0{/if}
Ist nun besagter Wert „ProductOnlineStatus“ true, klappt der Import und der Artikel wird korrekt importiert.
Ist aber nun der Wert „ProductOnlineStatus“ false, so finde ich im Protokoll eine Meldung „active Feld muss int sein!“
Der selbe Fehler tritt übrigens ebenfalls auf, wenn ich anstelle von
{if $active == 'true'}1{else}0{/if}
ein einfaches
0
in die Konvertierung schreibe.
Auch der Versuch, die Variable active dem Wert 0 via
{assign var="active" value=false}
zuzuweisen schlägt mit dem selben Fehler fehl.
Ist es möglich, dass 0 tatsächlich ein ungültiger Integer-Wert ist? Oder handelt es sich hierbei um einen Bug?
- In meiner XML-Datei finde ich einen Wert „ProductID“, dem Wert teile ich das Shopware-Feld orderNumber zu. Nun benötige ich ja zum erfolgreichen Import noch das Feld „mainNumber“ - der Wert „mainNumber“ ist aber nur dann in der XML-Datei in einem Feld „MasterProductID“ vorhanden, wenn es zu dem Artikel Varianten gibt, ansonsten existiert der Wert nicht und mainNumber bleibt leer.
Kann ich die Konvertierungen nutzen, um diesen Wert den Wert aus „orderNumber“ zu zuteilen, wenn mainNumber leer ist oder nicht definiert ist? Wenn ja, wie?
z.B. sowas wie:
erst einmal das Feld „orderNumber“ hinzufügen und als Import-Umwandlung einen ähnlichen Code festlegen:
{if not isset($mainNumber)}{assign var="mainNumber" value=$orderNumber}{/if}
Vielen Dank schon mal vorab für eure Hilfe!
Bei Unklarheiten bitte fragen!
Viele Grüße
Stefan Zwosta