# BETA REST API - Bilder

**URL:** <https://forum.shopware.com/t/beta-rest-api-bilder/17539>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [2. Januar 2014 um 15:47 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539 "2014-01-02T15:47:03Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [2. Januar 2014 um 15:47 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/1 "2014-01-02T15:47:03Z")

</div>

Hi, Kann es sein, dass in der Beta Version 4.2 keine Bilder für alle Größen erzeugt werden? Im Backend ist das Bild zu sehen. Aber im Frontend nicht. Auf dem Server ist immer nur das Original Bild und 1 thumbnail Bild.

---

<div class="post-metadata">

**Author:** ![Marcel\_S](https://avatars.discourse-cdn.com/v4/letter/m/cc9497/32.png) [@Marcel\_S](https://forum.shopware.com/u/Marcel_S)\
**Post date:** [2. Januar 2014 um 18:07 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/2 "2014-01-02T18:07:27Z")

</div>

Hi, danke für dein Feedback. Ich habe hierfür mal ein Ticket erstellt zum Überprüfen: [http://jira.shopware.de/?ticket=SW-7616](http://jira.shopware.de/?ticket=SW-7616) Falls noch mehrere Dinge auffallen, könnt ihr natürlich gerne unseren Bugtracker verwenden. Gerade für der Beta-Phase ist uns Feedback natürlich super wichtig. :thumbup: Vg, Marcel

---

<div class="post-metadata">

**Author:** ![sanymedia](https://avatars.discourse-cdn.com/v4/letter/s/b9bd4f/32.png) [@sanymedia](https://forum.shopware.com/u/sanymedia)\
**Post date:** [4. Januar 2014 um 17:46 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/3 "2014-01-04T17:46:24Z")

</div>

Hallo, Haben selbiges Problem, wobei das Originalbild vorhanden ist, aber das Thumbnail wiederum nicht. Grüße, Daniel

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [5. Februar 2014 um 20:45 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/4 "2014-02-05T20:45:19Z")

</div>

Hi Marcel, laut Ticket ist es in der 4.2 gelöst. Habe es eben getestet. Ich Importiere über die API neue Artikel mit Bilder. Die Bilder werden im original zu Shopware geladen. Es werden aber keine Thumbnails erzeugt. Ist das so gewollt? Danke

---

<div class="post-metadata">

**Author:** ![Oliver\_Skroblin](https://avatars.discourse-cdn.com/v4/letter/o/6bbea6/32.png) [@Oliver\_Skroblin](https://forum.shopware.com/u/Oliver_Skroblin)\
**Post date:** [12. Februar 2014 um 15:57 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/5 "2014-02-12T15:57:41Z")

</div>

Hi, aus Performance-Gründen werden für Media Objekte die über den Artikel hochgeladen werden keine Thumbnails generiert, da die Request sonst in einen Timeout laufen würden bei zu großen Stapelverarbeitungen. Damit Thumbnails generiert werden gibt es 2x Möglichkeiten: Möglichkeit 1: Wenn du über Rest-Calls arbeitest, lade zunächst die Images über die Media Resource hoch und verknüpfe diese zum Artikel Möglichkeit 2: Wenn du lokal mit der Rest API arbeitest kannst du anschließend die Media Objekte iterieren und für jedes Objekt folgenden Source aufrufen: ` $manager = Shopware()-\>Container()-\>get('thumbnail\_manager'); $manager-\>createMediaThumbnail($media, array(), true); `

---

<div class="post-metadata">

**Author:** ![rtrau](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@rtrau](https://forum.shopware.com/u/rtrau)\
**Post date:** [7. März 2014 um 08:20 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/6 "2014-03-07T08:20:55Z")

</div>

Hab die Möglichkeit1 von Oliver umgesetzt, aber leider werden die Bilder nun alle quadratisch angezeigt. Dies führt zu Verzerrungen. Kann man dies über die API irgendwie bewerkstelligen, dass die Bilder in der richtigen Relation generiert werden?

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [7. März 2014 um 09:33 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/7 "2014-03-07T09:33:33Z")

</div>

Das mit der Verzerrung habe ich auch, aber nur bei den 720x600px Bildern. Die anderen sind alle im richtigen Verhältnis skaliert. War vor 4.2 jedenfalls anders, da habe ich auch nachdem gleichen Prinzip importiert (erst Bild im Media-Manager erstellt, dann im Artikel verwiesen).

---

<div class="post-metadata">

**Author:** ![rtrau](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@rtrau](https://forum.shopware.com/u/rtrau)\
**Post date:** [7. März 2014 um 10:30 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/8 "2014-03-07T10:30:29Z")

</div>

Bei mir betrifft das sämtliche Bilder die generiert wurden. Gibt es hier bereits einen Lösungsweg?

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [10. März 2014 um 13:48 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/9 "2014-03-10T13:48:01Z")

</div>

Ok, kann das bestätigen, lag an allten Thumbnails von vohrigen Uploads. Bei mir werden die API-Thumbnails auch definitiv falsch skaliert. Da wird offensichtlich nur die Breite genommen und nicht mehr proportional die Höhe verringert. Ebenfalls: Wenn ich Bilder (z.B. Hersteller-Bilder) über die Media-Resource anlege gibt es auch einen Fehler mit [quote]No thumbnail sizes were found in the album settings[/quote], der Upload klappt prinzipiell, nur eben ganz ohne Vorschau. Für die Bilder die unter „Unsortiert“ landen werden ja auch passend angelegt - auch ohne Thumbnail-Einstellungen. Da kann ich aber gerade nicht einschätzen, wie das vorher funktionierte … Hat wer da eine Idee, was wenigstens die falschen Skalierungen angeht? … Sonst muss ich mich da gleich mal durchwühlen und die Stelle finden … EDIT: Ich bin etwas weiter. Ich habe mal geguckt, Shopware\Components\Thumbnail\Generator hat ein boolean in der Methode: `public function createThumbnail($imagePath, $destination, $width, $height, $keepProportions = false)` Das $keepProportions ist wie man sieht im default false, wird aber von der Media-Resource aber nicht auf true gesetzt. Die Media-Resource stößt das an `$manager-\>createMediaThumbnail($media);` Wobei diese Methode bereits das Proportions-Flag bekommen könnte laut Definition: `public function createMediaThumbnail(Media $media, $thumbnailSizes = array(), $keepProportions = false)` Wenn ich das auf true setze, werden die Thumbnails sehrwohl richtig skaliert. Wieso ist das also im Default auf false? … Habe ich da sonst etwas übersehen? … Niklas

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [13. März 2014 um 09:45 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/10 "2014-03-13T09:45:53Z")

</div>

So, wie [hier](http://forum.shopware.de/post86142.html#p86142) angesprochen ist mein Versuch gescheitert, das ganze per Hook zu korrigieren. Da die gewünschte Klasse aber nicht hookable ist, funktioniert das nicht. Deswegen muss ich (aktuell) leider nach dem speichern von einem Bild danach noch einmal die Thumbnails generieren, aber mit dem passenden Flag: `$thumbnailManager = $this-\>getMediaResource()-\>getContainer()-\>get('thumbnail\_manager'); try { $thumbnailManager-\>createMediaThumbnail($mediaObj, array(), true); } ....` Wenn wer eine andere Idee hat bin ich gespannt. Ist eben blöd, weil er jetzt einen Schwung umsonst generiert, mir fällt da aber aktuell keine andere Lösung ein … Schöne Grüße! Niklas

---

<div class="post-metadata">

**Author:** ![rtrau](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@rtrau](https://forum.shopware.com/u/rtrau)\
**Post date:** [13. März 2014 um 09:56 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/11 "2014-03-13T09:56:36Z")

</div>

Danke für den Workaround Niklas, habs jetzt vorerst auch mal so gelöst, da das Problem in der 4.2.1er Version noch immer besteht. Bin heute auf ein weiteres Hindernis beim Bilderimport gestoßen. Wenn ich einen Artikel mit PUT update werden jedesmal die Bilder dupliziert obwohl diese die selbe MediaId besitzen. Gibt es diesbezüglich eine Lösung?

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [13. März 2014 um 12:44 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/12 "2014-03-13T12:44:24Z")

</div>

Auch das kann ich bestätigen, in meiner Anbindung vergleiche ich die Bilder. Wenn es Unterschiede gibt und ich die Bilder im Artikel updaten möchte, setze ich vor dem eigentlichen Update ein Update ab, welches nur die Bilder zurücksetzt: `try { $this-\>getArticleResource()-\>update($articleId, array('images' =\> array())); } catch ...` Danach baue ich das Bild-Array neu auf (auch mit den vorhandenen mediaIds) und update dieses im Artikel mit dem Rest, damit habe ich das Problem mit den doppelten Einträgen verhindert. Ja, das hat mich auch länger verwirrt, was das sollte. Beim schreiben fällt mir ein, mit 4.2 könntest du das auch über den replace- Befehl vielleicht machen, dann ersetzt du immer alles, dann spart man sich das vergleichen. Auf der anderen Seite, vermeide ich auch gerne soviel Updates wie möglich, weil Shopware bei sowas ja immer die IDs weiter hochzählt. Die Preise werden auch bei jedem Abgleich von der ID her hochgezählt … Schön das ich helfen konnte 🙂 Niklas

---

<div class="post-metadata">

**Author:** ![rtrau](https://avatars.discourse-cdn.com/v4/letter/r/cab0a1/32.png) [@rtrau](https://forum.shopware.com/u/rtrau)\
**Post date:** [26. März 2014 um 13:11 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/13 "2014-03-26T13:11:47Z")

</div>

Ab der Version 4.2 besteht hier die Möglichkeit den API Merge Modus zu verwenden. zB ` // PUT /api/articles/1 array( '\_\_options\_images' =\> array('replace' =\> true), 'images' =\> array( 112 =\> array( 'mediaId' =\> 112, 'main' =\> 1, ), 113 =\> array( 'mediaId' =\> 113, 'main' =\> '2', ) ), ); ` Damit lässt sich das Problem gut lösen.

---

<div class="post-metadata">

**Author:** ![Stritze](https://avatars.discourse-cdn.com/v4/letter/s/bb73d2/32.png) [@Stritze](https://forum.shopware.com/u/Stritze)\
**Post date:** [22. April 2014 um 19:27 UTC](https://forum.shopware.com/t/beta-rest-api-bilder/17539/14 "2014-04-22T19:27:17Z")

</div>

Hallo, kann man dies bitte nochmal so zusammenfassen, dass auch unerfahrene diesen Code einbinden können? Beim erstellen von Artikeln über die API werden die Bilder falsch generiert. Wenn man die Bilder manuell generiert, funktioniert alles prima. Gruß Daniel
