# Produktlisting erweitern um Hersteller \[SOLVED\]

**URL:** <https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773>\
**Category:** Allgemein\
**Created:** [4. August 2020 um 18:41 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773 "2020-08-04T18:41:50Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [4. August 2020 um 18:41 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773/1 "2020-08-04T18:41:50Z")

</div>

Hallo,

hat jemand nen Tipp wie ich den Hersteller im Produktlisting bei jedem Produkt mit anzeigen kann? Welches Event brauch ich dafür denn und wie mach ichs am besten?

im Standard ist der Hersteller ja nicht dabei…

ingteressanter Weise hat Shopware 6 im Standard aber eine Brand-Itemprop im Listing (Product-Card) enthalten

```
{% block component_product_box_rich_snippets_brand %}
        
    {% endblock %}

```

aber is natürlich leer… weiß nicht was das soll

---

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [5. August 2020 um 06:36 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773/2 "2020-08-05T06:36:27Z")

</div>

okay habs wohl gefunden.

einen Subscriber erstellen und auf dieses Event subscriben:

```
ProductEvents::PRODUCT_LOADED_EVENT => "onProductLoaded"

```

wusste anfangs nicht, dass man für das Listing auch das “ProductLoaded” braucht.

---

<div class="post-metadata">

**Author:** ![finsti](https://avatars.discourse-cdn.com/v4/letter/f/ad7895/32.png) [@finsti](https://forum.shopware.com/u/finsti)\
**Post date:** [7. August 2020 um 10:39 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773/3 "2020-08-07T10:39:03Z")

</div>

Hallo @FloC3‍,

ich versuche auch gerade, den Hersteller in meinem Produktlisting auszugeben, schaffe es aber leider auch mit deinem Hinweis auf das passende Event nicht.

Könntest du vielleicht posten, wie dein kompletter Subscriber aussieht?

Viele Grüße  
finsti

---

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [7. August 2020 um 10:46 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773/4 "2020-08-07T10:46:45Z")

</div>

```
public static function getSubscribedEvents(): array
    {
        return [
            ProductEvents::PRODUCT_LOADED_EVENT => "onProductLoaded"
        ];
    }

public function onProductLoaded(EntityLoadedEvent $event)
{
    if ($event->getContext()->getSource() instanceof \Shopware\Core\Framework\Api\Context\SalesChannelApiSource)
    {
        $entities = $event->getEntities();
        $manufacturerRepository = $this->container->get("product_manufacturer.repository");

        /** @var SalesChannelProductEntity $entity */
        foreach ($entities as $entity)
        {
            if ($entity->getManufacturerId() == null)
                continue;

            $criteria = new Criteria([$entity->getManufacturerId()]);

            /** @var ProductManufacturerEntity $currentManufacturer */
            $currentManufacturer = $manufacturerRepository
                ->search($criteria, $event->getContext())
                ->get($entity->getManufacturerId());

            if ($currentManufacturer != null)
            {
                $entity->setManufacturer($currentManufacturer);
            }
        }
    }

}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![finsti](https://avatars.discourse-cdn.com/v4/letter/f/ad7895/32.png) [@finsti](https://forum.shopware.com/u/finsti)\
**Post date:** [7. August 2020 um 12:05 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773/5 "2020-08-07T12:05:39Z")

</div>

Hallo @FloC3‍,

erstmal vielen Dank für die superschnelle Antwort!

Leider habe ich es aber immer noch nicht geschafft. Ich muss zugeben, dass ich mich mit PHP nicht gut auskenne. Daher habe ich mich an das [HowTo](https://docs.shopware.com/en/shopware-platform-dev-en/how-to/register-subscriber) in der Doku gehalten.

Das hier sind die relevanten Dateien in meinem Plugin:

(1) Plugin \> src \> FiwaCms.php

(2) Plugin \> src \> Resources \> config \> services.xml

(3) Plugin \> src \> Subscriber \> MySubscriber.php

```
 'onProductLoaded'
        ];
    }

    public function onProductDetails(EntityLoadedEvent $event)
    {
        if ($event->getContext()->getSource() instanceof \Shopware\Core\Framework\Api\Context\SalesChannelApiSource)
        {
            $entities = $event->getEntities();
            $manufacturerRepository = $this->container->get('product_manufacturer.repository');

            /** @var SalesChannelProductEntity $entity */
            foreach ($entities as $entity)
            {
                if ($entity->getManufacturerId() == null)
                    continue;

                $criteria = new Criteria([$entity->getManufacturerId()]);

                /** @var ProductManufacturerEntity $currentManufacturer */
                $currentManufacturer = $manufacturerRepository
                    ->search($criteria, $event->getContext())
                    ->get($entity->getManufacturerId());

                if ($currentManufacturer != null)
                {
                    $entity->setManufacturer($currentManufacturer);
                }
            }
        }
    }
}

```

Beim Aufruf des Shops bekomme ich dann die folgende Fehlermeldung:

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/5/5b9e464c480279165bb02b9671a7eeccb6521e1a.png)

Kannst du sagen, woran es hängt?

Im Voraus vielen Dank für deine Hilfe!

LG  
finsti

---

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [7. August 2020 um 12:19 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773/6 "2020-08-07T12:19:11Z")

</div>

sorry ich hatte noch einen Dreher der Methodenname in meinem Snippet…

&nbsp;

ProductEvents::PRODUCT\_LOADED\_EVENT =\> " **onProductLoaded**"

public function **onProductDetails** (EntityLoadedEvent $event)

&nbsp;

–\> natürlich muss die Function auch&nbsp; **onProductLoaded** heißen

---

<div class="post-metadata">

**Author:** ![finsti](https://avatars.discourse-cdn.com/v4/letter/f/ad7895/32.png) [@finsti](https://forum.shopware.com/u/finsti)\
**Post date:** [7. August 2020 um 12:33 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773/7 "2020-08-07T12:33:45Z")

</div>

Danke, @FloC3‍!

Darauf hätte ich sogar selbst kommen können. ![Wink](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/b3785da0cbf2c8566cb535dcf55b2730b5224899.png "Wink")

Leider hakt es nun aber an anderer Stelle (Notice: Undefined property: FiwaCms\Subscriber\MySubscriber::$container):

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/d802d964f72eeb44535b88e7be1071f10cc06146.png)

---

<div class="post-metadata">

**Author:** ![11shop](https://avatars.discourse-cdn.com/v4/letter/1/90ced4/32.png) [@11shop](https://forum.shopware.com/u/11shop)\
**Post date:** [2. September 2020 um 12:38 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773/8 "2020-09-02T12:38:39Z")

</div>

Hat jemand schon eine fertige Lösung??

---

<div class="post-metadata">

**Author:** ![devnullroot](https://avatars.discourse-cdn.com/v4/letter/d/3bc359/32.png) [@devnullroot](https://forum.shopware.com/u/devnullroot)\
**Post date:** [4. September 2020 um 08:43 UTC](https://forum.shopware.com/t/produktlisting-erweitern-um-hersteller-solved/68773/9 "2020-09-04T08:43:42Z")

</div>

> **[product box Variabel gibt nur manufacturerId raus - Wie komme ich an den...](https://forum.shopware.com/discussion/62854/product-box-variabel-gibt-nur-manufacturerid-raus-wie-komme-ich-an-den-hersteller-namen)**
>
> In der Produkt Box gibt mit product nur die manufacturerId raus, anscheinend wird doch nicht der Hersteller Name mit ausgegeben. Wie genau kann ich an den Herstellernamen kommen? manufacturer gibt nur null aus, Hersteller ist allerdings...
