Shopware: REST-API und Artikelbilder

Es fällt schnell auf, dass wenn man das Array mit den Bildern im Article-Model der REST-API ersetzt, die neuen Bilder nicht die alten ersetzen, sondern nur hinzugefügt werden. Das funktioniert auch super bei den selben Bildern, so das in einigen Fällen (wenn man nicht weiß, ob es neue Bilder sind oder nicht) sich doppelte Bilder im Artikel häufen.

Zum Glück bietet die REST-API den Merge Mode an. Dieser gilt für Bilder und Kategorien.

Man muss nur ein neues Feld in den Artikel einbauen:


{
"__options_images": {"replace": true},
"images": []
}


Damit wird dann einfach das alte Array geleert bevor die neuen Einträge hinzugefügt werden.

engine/Shopware/Components/Api/Resource/Article.php (5.3.3)


Zeile 2373: $images = $this->checkDataReplacement($article->getImages(), $data, 'images', false);


Default ist hier false. True als Defaultwert hätte ich persönlich logischer gefunden, bzw. eine Einstellung dafür in den Grundeinstellungen, um den Default-Wert zu ändern.
User annonyme 2017-10-15 19:00

write comment:
Two + = 7

Möchtest Du AdSense-Werbung erlauben und mir damit helfen die laufenden Kosten des Blogs tragen zu können?