Hallo, bin etwas am verzweifeln… Ich habe mit der REST-API einen Artikel-Import realisiert. Funktioniert mittlerweile auch alles (Konfigurator,Varianten,… usw) Die shopware article-ids habe ich extern für updates gespeichert… Sobald ich bei einem update call für einen Artikel nun das configuratorSet mit übergebe bekomme ich folgenden Fehler: Errormesage: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‚2182-148‘ for key ‚article_id‘ Ok ‚2182‘ ist die articledetailsID und ‚148‘ die option_id. Die Fehlermeldung wäre mir wegen des Schlüssels in der options_article_configurator_option_relations bei einem insert klar. Beim Aktualisieren macht das keinen Sinn… "configuratorSet" =\> array ( "type" =\> 1, "name" =\> "Set-9945672", "groups" =\> array ( array ( "name" =\> utf8\_encode("Größe"), "options" =\> array ( array ( "name" =\> 48 ), array ( "name" =\> 50 ),
Aktualisiert jemand vielleicht schon erfolgreich Artikel mit Varianten? Oder hat gar das Shopware-Team einen Rat? Gruß, Karsten
Hat wirklich keiner hierzu eine Idee? Beste Grüße, Karsten
Hallo, du kannst in der \enginge\Shopware\Components\Api\Resource\Article.php am Ende der Methode prepareConfiguratorSet die Zeilen $configuratorSet-\>setOptions($allOptions); $configuratorSet-\>setGroups($allGroups);
durch $configuratorSet-\>getOptions()-\>clear(); $configuratorSet-\>setOptions($allOptions); $configuratorSet-\>getGroups()-\>clear(); $configuratorSet-\>setGroups($allGroups);
ersetzen. Dadurch werden die bestehenden Zuordnungen entfernt, so dass der Fehler nicht mehr auftritt. Grundsätzlich musst du das ConfiguratorSet übrigens nicht bei jedem Update angeben. Damit könntest du das Problem ohne Quellcode-Änderung umschiffen. Besten Gruß, Daniel
Hallo Daniel, vielen Dank - das hat mir sehr geholfen! Beste Grüße, Karsten