# Store API: media leer in category - product-listing

**URL:** https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425
**Category:** Programmierung
**Created:** [5. Januar 2024 um 13:25 UTC](https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425 "2024-01-05T13:25:47Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![pelle](https://avatars.discourse-cdn.com/v4/letter/p/65b543/32.png) [@pelle](https://forum.shopware.com/u/pelle)
#### Post date: [5. Januar 2024 um 13:25 UTC](https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425/1 "2024-01-05T13:25:47Z")

</div>

Hi! Wir bauen ein eigenes, auf der Store API basierendes Frontend. Wenn wir Kategorien ueber die API abrufen (z.B. `/store-api/category/xxxxxxxxxxxxxx`), bekommen wir die Produktdaten, allerdings ohne die zugeordneten Bilder (`media`). Das Cover-Bild (`cover`) ist enthalten:

```auto
"cover": {
  "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425",
  "translated": [],
  "createdAt": "2023-10-03T14:38:21.083+00:00",
  "updatedAt": "2023-10-03T14:38:22.745+00:00",
  "productId": "018aaceac0c572499438521f9d07d8c9",
  "mediaId": "018af5f9bc0170eeadf484687eb7b609",
  [...]
}

```

Aber `media` ist komplett leer:

```auto
"media": null,

```

Wir haben bereits diverse „associations“ ausprobiert, kommen jedoch leider nicht weiter. Das Ziel ist, im Listing mehr als ein Produktbild anzuzeigen. Das klappt so leider nicht.

Vielen Dank fuer jede Hilfe!

---

<div class="post-metadata">

### Author: ![Laudenz](https://avatars.discourse-cdn.com/v4/letter/l/a9a28c/32.png) [@Laudenz](https://forum.shopware.com/u/Laudenz)
#### Post date: [5. Januar 2024 um 13:37 UTC](https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425/2 "2024-01-05T13:37:02Z")

</div>

Hallo pelle,  
damit zusätzliche Bilder im Listing geladen werden, braucht man einen Subscriber.  
Bei entsprechenden Events können die Medien mit geladen werden.  
Am besten realisiert man das mit einem eigenen Plugin.

Wenn ihr eine Möglichkeit gefunden habt zusätzliche Bilder auf einer „Shopseite“ zu laden, wäre ich auch an der Lösung interessiert.

Viele Grüße

---

<div class="post-metadata">

### Author: ![pelle](https://avatars.discourse-cdn.com/v4/letter/p/65b543/32.png) [@pelle](https://forum.shopware.com/u/pelle)
#### Post date: [5. Januar 2024 um 13:53 UTC](https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425/3 "2024-01-05T13:53:31Z")

</div>

Hi Laudenz!

Danke fuer die flotte Antwort. Weisst Du zufaellig, welches Event das waere bzw. wie man dann die Bilder laedt?

Vermutlich ist das doch etwas sehr umstaendlich, aber falls wir doch eine Loesung implementieren, lasse ich es Dich geren wissen und schicke Dir unser Plugin 🙂

---

<div class="post-metadata">

### Author: ![Laudenz](https://avatars.discourse-cdn.com/v4/letter/l/a9a28c/32.png) [@Laudenz](https://forum.shopware.com/u/Laudenz)
#### Post date: [5. Januar 2024 um 14:10 UTC](https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425/4 "2024-01-05T14:10:40Z")

</div>

Schau mal [hier](https://forum.shopware.com/t/subscriber-event-fuer-zusaetzliche-produktdaten-auf-der-startseite/102251/4), in meinem letzten Post ist der Code, wie man die Medien beim Cross-Selling lädt.  
‚moreData‘ ist ein Platzhalter für ‚media‘.

Vielen Dank 🙂

Ist vom Aufwand überschaubar würde ich sagen. Meldet euch gerne, wenn ihr Hilfe braucht.

---

<div class="post-metadata">

### Author: ![pelle](https://avatars.discourse-cdn.com/v4/letter/p/65b543/32.png) [@pelle](https://forum.shopware.com/u/pelle)
#### Post date: [5. Januar 2024 um 14:59 UTC](https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425/5 "2024-01-05T14:59:05Z")

</div>

Ich habe das jetzt mal ausprobiert, komme aber nicht so richtig weiter:

```auto
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Shopware\Core\Content\Product\Events\ProductListingCriteriaEvent;

class ProductListingMediaService implements EventSubscriberInterface
{
	public static function getSubscribedEvents(): array
	{
		return [
			ProductListingCriteriaEvent::class => 'onProductListingCriteria',
		];
	}

    public function onProductListingCriteria($event)
    {
        $criteria = $event->getCriteria();
		$criteria->addAssociation('media');
    }
}

```

Es gibt allerdings weiterhin `media: null` in der Antwort. Das Plugin laeuft definitiv waehrend des API-Requests, das konnte ich mit `dd()` pruefen.

Danke!

---

<div class="post-metadata">

### Author: ![pelle](https://avatars.discourse-cdn.com/v4/letter/p/65b543/32.png) [@pelle](https://forum.shopware.com/u/pelle)
#### Post date: [5. Januar 2024 um 15:07 UTC](https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425/6 "2024-01-05T15:07:24Z")

</div>

Ups! Mein Fehler, da war wohl eine alte Version im Cache. Es tut! DANKE!

---

<div class="post-metadata">

### Author: ![Laudenz](https://avatars.discourse-cdn.com/v4/letter/l/a9a28c/32.png) [@Laudenz](https://forum.shopware.com/u/Laudenz)
#### Post date: [5. Januar 2024 um 15:57 UTC](https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425/7 "2024-01-05T15:57:30Z")

</div>

Freut mich wenn es geklappt hat! 🙂

Hast du eine Idee, wie man die Medien auf der Startseite laden kann?  
Die Startseite ist vom Typ „Shopseite“ und es wurden in der Erlebniswelt die Commerce Blöcke „Drei Spalten, Produkt-Boxen“ und „Produkt-Slider“ eingefügt. Dort sollen die zusätzlichen Medien zur Verfügung stehen.

---

<div class="post-metadata">

### Author: ![system](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/2/9/29c7587ba660f00e4995d1743162782e5d6d8653.svg) [@system](https://forum.shopware.com/u/system)
#### Post date: [4. Februar 2024 um 15:58 UTC](https://forum.shopware.com/t/store-api-media-leer-in-category-product-listing/102425/8 "2024-02-04T15:58:04Z")

</div>

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.
