# REST-API: Artikelbild löschen

**URL:** <https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [25. Oktober 2012 um 08:55 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414 "2012-10-25T08:55:06Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![oli](https://avatars.discourse-cdn.com/v4/letter/o/2bfe46/32.png) [@oli](https://forum.shopware.com/u/oli)\
**Post date:** [25. Oktober 2012 um 08:55 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/1 "2012-10-25T08:55:06Z")

</div>

Da man Artikelbilder über die API nicht selektiv entfernen kann versuche ich als Workaround zunächst alle Bilder zu entfernen: ` $articleResource = \Shopware\Components\Api\Manager::getResource('Article'); $articleResource-\>update(246, array( 'images' =\> array() ));` und anschließend die Bilder über einen weiteren update-call wieder reinzuschreiben. Da das Hauptbild meistens identisch bleibt entsteht hier folgendes Problem: Beim Löschen der Bilder bleiben die Bilder in media/images/ liegen. Setze ich nun wieder ein Bild was schon existierte erkennt Shopware, dass ein Bild mit diesem Namen bereits existiert und hängt einen Hash an das neu zu schreibende Bild. Das Original-Bild liegt als Leiche weiter rum. Wenn man den Artikel über die Zeit öfter aktualisiert entsteht dadurch ein riesen Haufen an alten, unbenutzten Bildern. Wie kann man das umgehen?

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [25. Oktober 2012 um 11:15 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/2 "2012-10-25T11:15:32Z")

</div>

Hallo oli, über den Artikel ist das nicht möglich, weil ja mehrere Artikel ein Bild teilen können und es daher erstmal nicht wünschenswert ist, wenn ein Bild gelöscht wird, bloß weil ein gegebener Artikel das Bild nicht mehr verwendet. Gelöscht werden die Bilder allerdings über die Media-Resource. Die entsprechende mediaId erfährst du über die Artikel-Resource - dort findest sie sich im “images” Array. Danach müsstest du noch wie bisher die Bild-Artikel-Zuordnung entfernen. Sicher noch etwas umständlich, da müssten wir mal überlegen, ob wir das besser über eine dedizierte ArtikelImage-Resource o.ä. lösen können. Bis dahin kann ich dir diesbezüglich auch die [alte API](http://wiki.shopware.de/API-Import-Funktionen%5C_detail%5C_210.html#sDeleteArticleImages)empfehlen. Dort wird aus Kompatiblitätsgründen auch direkt das Bild gelöscht, wenn man es für einen Artikel entfernt. Mit den Methoden sDeleteArticleImages und sDeleteOtherArticleImages solltest du daher gut arbeiten können. Daniel /edit: Über unseren [Bug-Tracker](http://jira.shopware.de/)kannst du das auch als Feature-Wunsch vorschlagen. Dann hast du direkt im Blick, wenn da was passiert.

---

<div class="post-metadata">

**Author:** ![fgits](https://avatars.discourse-cdn.com/v4/letter/f/7c8e57/32.png) [@fgits](https://forum.shopware.com/u/fgits)\
**Post date:** [21. August 2013 um 11:55 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/3 "2013-08-21T11:55:51Z")

</div>

Wie ist hier der aktuelle Stand? Ich habe durch einen entsprechenden API-Call die Mediendaten der Artikelbilder gelöscht `DELETE /media/{id}`. Die Bilder sind nun aus der Medienbibliothek entfernt. Anschließend schreibe ich per `PUT /article/{id}` ein komplett neues Bilder-Array in den Artikel. Leider sind jedoch die alten Bilder zumindest noch zugeordnet. Wenn auch nicht vorhanden.

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/582386da78900dfea993b0f448d33dbc2327ffad.png) Wie kann ich das Problem umgehen und die Bilder KOMPLETT aus dem Artikel entfernen um dann neue hinzuzufügen?

---

<div class="post-metadata">

**Author:** ![fiesch](https://avatars.discourse-cdn.com/v4/letter/f/49beb7/32.png) [@fiesch](https://forum.shopware.com/u/fiesch)\
**Post date:** [22. September 2013 um 09:47 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/4 "2013-09-22T09:47:20Z")

</div>

Ich hänge mich hier mal an. Ich hab das Problem dass ich bei der lokalen Verwendung der REST API beim Update von Artikeln immer neue Artikel hinten an den Artikel anhänge. Ich hab so für einen Artikel locker 30 Bilder definiert durch wiederholte Durchläufe. Was ich hieran nicht ganz verstehe: Der Artikel sollte 3 Bilder haben - lese ich über REST die Images des Artikels aus so bekomme ich auch nur 3 Media IDs raus - sehe ich mir den Artikel aber im Backend-GUI an sehe ich alle zugeordneten Bilder. Gibt es einen anderen Weg über REST wie ich an alle Bilder rankomme? UND: Wie ist die empfohlene Herangehensweise beim Update von Artikeln wenn ich nicht weis ob die Bilder sich geändert haben oder nicht? Nebenher noch eine andere Frage - lässt sich eventuell über so etwas wie Checksummenbildung feststellen ob ein Bild bereits existiert? (Möglich wäre z.B. Kombination aus Checksumme und Dateiname) - so würde sich das Bereinigen der Medienliste wohl auch zu einem großen Teil vermeiden lassen.

---

<div class="post-metadata">

**Author:** ![fiesch](https://avatars.discourse-cdn.com/v4/letter/f/49beb7/32.png) [@fiesch](https://forum.shopware.com/u/fiesch)\
**Post date:** [29. September 2013 um 02:15 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/5 "2013-09-29T02:15:57Z")

</div>

Revidiere meinen Post - Die Kombination aus \_leerem\_ Image Array beim Update und löschen über Media Resource und Media ID hatte den gewünschten Effekt. Rest war PHP bug meinerseits

---

<div class="post-metadata">

**Author:** ![phacops](https://avatars.discourse-cdn.com/v4/letter/p/41988e/32.png) [@phacops](https://forum.shopware.com/u/phacops)\
**Post date:** [29. Juli 2014 um 19:35 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/6 "2014-07-29T19:35:55Z")

</div>

Hallo, ich habe den gleichen Effekt. Ich habe es nun so versucht: PUT mit [www.meineshop.de/api/articles/ArtikelID](http://www.meineshop.de/api/articles/ArtikelID) {„images“: [{}]} Leider werden die zugeordneten Bilder bzw die Zuordnungen zu dem betreffenden Artikel mit der ArtikelID nicht gelöscht. Wie kann ich das bewerkstelligen? Danke und Gruß Marco

---

<div class="post-metadata">

**Author:** ![metra](https://avatars.discourse-cdn.com/v4/letter/m/dec6dc/32.png) [@metra](https://forum.shopware.com/u/metra)\
**Post date:** [18. Dezember 2014 um 01:12 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/7 "2014-12-18T01:12:54Z")

</div>

[quote=„fiesch“]Revidiere meinen Post - Die Kombination aus \_leerem\_ Image Array beim Update und löschen über Media Resource und Media ID hatte den gewünschten Effekt. Rest war PHP bug meinerseits[/quote] Hallo delete mit der MediaID kann ich machen, `$client-\>call('media/61', ApiClient::METHODE\_DELETE);` aber wie geht das löschen über Media Resource ? Danke 🙂

---

<div class="post-metadata">

**Author:** ![benjamin.koetting](https://avatars.discourse-cdn.com/v4/letter/b/65b543/32.png) [@benjamin.koetting](https://forum.shopware.com/u/benjamin.koetting)\
**Post date:** [23. Oktober 2015 um 13:39 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/8 "2015-10-23T13:39:41Z")

</div>

es gibt noch einen weg die Bilder direkt im gleichen API call zu überschrieben auf jeden Fall bei SW5, so spart sich den API call mit leerem image array. Auf der gleichen Ebene wie das images Element kann man ein Element einsetzen: \_\_options\_images und dort den Schlüssel replace = True übergeben. Dann werden die Bilder am Produkt ersetzt im Media Manager blieben Sie trotzdem erhalten und müssen über die media API gelöscht werden.

---

<div class="post-metadata">

**Author:** ![wolfgangederer](https://avatars.discourse-cdn.com/v4/letter/w/779978/32.png) [@wolfgangederer](https://forum.shopware.com/u/wolfgangederer)\
**Post date:** [15. Dezember 2018 um 18:06 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/9 "2018-12-15T18:06:59Z")

</div>

> [@benjamin.koetting schrieb:](https://forum.shopware.com/profile/22172/benjamin.koetting "benjamin.koetting")
> 
> es gibt noch einen weg die Bilder direkt im gleichen API call zu überschrieben auf jeden Fall bei SW5, so spart sich den API call mit leerem image array.
> 
> Auf der gleichen Ebene wie das images Element kann man ein Element einsetzen:
> 
> \_\_options\_images und dort den Schlüssel replace = True übergeben.
> 
> Dann werden die Bilder am Produkt ersetzt im Media Manager blieben Sie trotzdem erhalten und müssen über die media API gelöscht werden.

Vielen Dank für die Info. Wo genau findet man so etwas? In der Rest API Doku ist davon nichts zu sehen.&nbsp;

---

<div class="post-metadata">

**Author:** ![Niederbobi](https://avatars.discourse-cdn.com/v4/letter/n/c4cdca/32.png) [@Niederbobi](https://forum.shopware.com/u/Niederbobi)\
**Post date:** [3. Januar 2019 um 09:53 UTC](https://forum.shopware.com/t/rest-api-artikelbild-loschen/9414/10 "2019-01-03T09:53:48Z")

</div>

zu finden ist das in der Beschreibung zum Merge Mode

[https://developers.shopware.com/developers-guide/rest-api/examples/merge-mode/](https://developers.shopware.com/developers-guide/rest-api/examples/merge-mode/)

&nbsp;

&nbsp;
