# Vererbung Bilder an Varianten

**URL:** <https://forum.shopware.com/t/vererbung-bilder-an-varianten/107925>\
**Category:** Shopware 6 (German)\
**Created:** [19. September 2025 um 11:45 UTC](https://forum.shopware.com/t/vererbung-bilder-an-varianten/107925 "2025-09-19T11:45:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![klogges](https://avatars.discourse-cdn.com/v4/letter/k/eb9ed0/32.png) [@klogges](https://forum.shopware.com/u/klogges)\
**Post date:** [19. September 2025 um 11:45 UTC](https://forum.shopware.com/t/vererbung-bilder-an-varianten/107925/1 "2025-09-19T11:45:28Z")

</div>

Wir würden gerne in unserem Shop es so einrichten, dass einzelne Varianten die Bilder des Elternelements erben können. Diese sollen dann an die (sofern vorhandenen) Bilder der Variante angehängt werden. Das ganze nur im FrontEnd in der Produktgalerie. Keine Updates in der Datenbank. Gesteuert werden soll es per CustomField am Produkt. So könnten die Varianten im Backend einzeln gepflegt werden, Referenzbilder für alle Varianten aber über das Elternelement gesteuert werden. Ansonsten ist das Pflegen über das Backend undenkbar.

Beim Versuch, das als Subscriber zu schreiben und auf das ProductPageLoadedEvent zu setzen sind insofern erfolgreich, dass die zusätzlichen Medien in product.media ergänzt sind. Das CMS Slider Element liest seine Daten aber aus element.data.sliderItems. Dieses ist mit product.media gemappt, wird aber anscheinend vorher befüllt. Könnte man hier auf ein anderes Event setzen wenn man das als Subscriber baut?

Zweiter Versuch über AbstractCmsElementResolver die enrich-Funktion zu nutzen war auch nicht erfolgreich.

Het jemand vielleicht einen Tip oder Ansatz wie man das bewerkstelligen kann?

---

<div class="post-metadata">

**Author:** ![aggrosoft](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/aggrosoft/32/23875_2.png) [@aggrosoft](https://forum.shopware.com/u/aggrosoft)\
**Post date:** [19. September 2025 um 13:00 UTC](https://forum.shopware.com/t/vererbung-bilder-an-varianten/107925/2 "2025-09-19T13:00:44Z")

</div>

Ja da haben wir auch schon dran gehangen, was du brauchst ist das CmsPageLoadedEvent:

```auto
public static function getSubscribedEvents(): array
    {
        return [
            CmsPageLoadedEvent::class => 'onCmsPageLoaded'
        ];
    }

```

```auto
public function onCmsPageLoaded(CmsPageLoadedEvent $event): void
    {

        $pages = $event->getResult();
        $products = new EntityCollection();

        foreach($pages as $page) {
            $blocks = $page->getSections()->getBlocks();
            foreach($blocks as $block) {
                $slots = $block->getSlots();
                foreach($slots as $slot) {

                    switch($slot->getType())
                    {
                        case 'product-box':
                            if ($slot->getData()->getProduct())
                                $products->add($slot->getData()->getProduct());
                            break;
                        case 'product-listing':
                            foreach($slot->getData()->getListing()->getEntities() as $product) {
                                $products->add($product);
                            }
                            break;
                        case 'product-slider':
                            foreach($slot->getData()->getProducts() as $product) {
                                $products->add($product);
                            }
                            break;
                    }
                }
            }
        }
        if ($products->count() > 0)
            // hier enthält $products dann alle artikel aus der cms seite, da kannst du dann ansetzen
        }

    }

```

---

<div class="post-metadata">

**Author:** ![klogges](https://avatars.discourse-cdn.com/v4/letter/k/eb9ed0/32.png) [@klogges](https://forum.shopware.com/u/klogges)\
**Post date:** [23. September 2025 um 14:18 UTC](https://forum.shopware.com/t/vererbung-bilder-an-varianten/107925/3 "2025-09-23T14:18:40Z")

</div>

Hi aggrosoft,  
danke fürs Feedback. Mit Produktgalerie hab ich mich etwas falsch ausgedrückt. Ich meinte den Image Slider auf der Produktdetailseite. Also geht es um den Slot mit type: „image-gallery“.  
Darin ist data aber beim Event schon mit Shopware\Core\Content\Cms\SalesChannel\Struct\ImageSliderStruct gefüllt. Das ganze mappt sich aus product.media. Gibt es ein früheres Event das dafür besser geeignet wäre?

Ich habe testhalber mal aus dem page request das Produkt ermittelt (oder kommt man in diesem Event leichter an das Produkt?), die Media mit den Bildern des Elternelements angereichert und diese Elemente in die slot data gesetzt.  
Das funktioniert für die Image gallery. Muss man aber die Elemente noch in ImageSliderStruct wandeln? Oder ist das prinzipiell das gleiche nur mit anderem Namen?
