Hallo zusammen,
ich habe eine CSV Datei vorliegen und soll die Daten in einen Shopware Shop importieren. Soweit, so gut- Kategorien und den Artikel inklusive der Variantenkonfiguration kann ich anlegen. Wenn ich daraus nun die Varianten generieren will, erhalte ich ausschließlich Probleme.
Der aktuelle lautet: An exception occurred while executing ‚INSERT INTO s_article_configurator_option_relations (article_id, option_id) VALUES (?, ?)‘ with params [21, 1]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‚21-1‘ for key ‚article_id‘
Hierbei ändert sich die „21“ in „21-1“ immer wieder, wenn ich einen Import anstoße. Als ich ihn das zweite Mal anstieß, war es „40-1“, beim dritten Mal „59-1“, danach „78-1“
Der aktuelle Inhalt der s_article_configurator_option_relations Tabelle: Nichts. Sie ist leer.
Das Array, wie ich die Daten übergebe, sieht wie folgt aus:
Array
(
[name] =>
[tax] => 19
[active] => false
[supplierId] => 1
[supplier] =>
[categories] => Array
(
[0] => Array
(
[id] => 1020
)
[1] => Array
(
[id] => 6010
)
[2] => Array
(
[id] => 7010
)
[replace] => false
)
[added] => DateTime Object
(
[date] => 2016-05-04 15:48:20
[timezone_type] => 3
[timezone] => Europe/Berlin
)
[updated] => DateTime Object
(
[date] => 2016-05-04 15:48:20
[timezone_type] => 3
[timezone] => Europe/Berlin
)
[description] =>
[descriptionLong] =>
[lastStock] => 1
[notification] => 1
[mode] => 1
[availableFrom] => DateTime Object
(
[date] => 2016-05-04 15:46:48
[timezone_type] => 3
[timezone] => Europe/Berlin
)
[availableTo] => DateTime Object
(
[date] => 2016-05-04 15:46:48
[timezone_type] => 3
[timezone] => Europe/Berlin
)
[shippingFree] => false
[mainDetail] => Array
(
[number] => 01339091
)
[configuratorSet] => Array
(
[groups] => Array
(
[0] => Array
(
[name] => Größe
[options] => Array
(
[0] => Array
(
[name] => 32
)
[1] => Array
(
[name] => 34
)
[2] => Array
(
[name] => 36
)
[3] => Array
(
[name] => 38
)
[4] => Array
(
[name] => 40
)
[5] => Array
(
[name] => 42
)
[6] => Array
(
[name] => 44
)
[7] => Array
(
[name] => 46
)
[8] => Array
(
[name] => 48
)
[9] => Array
(
[name] => 50
)
)
)
[1] => Array
(
[name] => Farbe
[options] => Array
(
[0] => Array
(
[name] => 04/12
)
[1] => Array
(
[name] => 04/13
)
)
)
)
)
[variants] => Array
(
[0] => Array
(
[isMain] => true
[number] => 01339091
[inStock] => 0
[additionalText] => 32 / 04/12
[configuratorOptions] => Array
(
[0] => Array
(
[group] => Größe
[option] => 32
[groupId] => 1
[optionId] => 1
)
[1] => Array
(
[group] => Farbe
[option] => 04/12
[groupId] => 2
[optionId] => 11
)
[2] => Array
(
[group] => Größe
[option] => 32
[groupId] => 1
[optionId] => 1
)
[3] => Array
(
[group] => Farbe
[option] => 04/13
[groupId] => 2
[optionId] => 12
)
[4] => Array
(
[group] => Größe
[option] => 34
[groupId] => 1
[optionId] => 2
)
[5] => Array
(
[group] => Farbe
[option] => 04/12
[groupId] => 2
[optionId] => 11
)
...
)
[price] => 19.00
[standard] =>
)
...
)
)
Nachdem ich den Quellcode durchsucht habe, kam ich auch auf die Idee, mittels der folgenden Variante zu erzwingen, dass die bestehenden Varianten entfernt werden sollen.
[__options_variants] => Array
(
[replace] => true
)
Leider ohne Erfolg. Die Fehlermeldungen:
PHP Notice: Undefined index: isMain in /var/www/shopware.local/engine/Shopware/Components/Api/Resource/Article.php on line 852 (2x)
PHP Notice: Undefined index: standard in /var/www/shopware.local/engine/Shopware/Components/Api/Resource/Article.php on line 852 (2x)
Den Artikel habe ich zuvor erstellt, ebenso den Hersteller. Ich rufe dabei die „create“ Methode der Artikel API-Resource auf. Um die Variante(n) hinzuzufügen, füge ich dem obigen Array das „variants“-Array hinzu und rufe über die Artikel API-Resource die „update“-Methode auf.
Long Story short- hat jmd. eine Ahnung, was genau ich falsch mache?
Die REST-API Endpunkt Dokumentationen hab ich mir angeschaut, ebenso einige Ergebnisse, die ich via Google fand.
Beste Grüße,
Cryv