# Crossseller im Produkt Listing

**URL:** <https://forum.shopware.com/t/crossseller-im-produkt-listing/91502>\
**Category:** Programmierung\
**Created:** [16. November 2021 um 09:22 UTC](https://forum.shopware.com/t/crossseller-im-produkt-listing/91502 "2021-11-16T09:22:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![f.mertens](https://avatars.discourse-cdn.com/v4/letter/f/7993a0/32.png) [@f.mertens](https://forum.shopware.com/u/f.mertens)\
**Post date:** [16. November 2021 um 09:22 UTC](https://forum.shopware.com/t/crossseller-im-produkt-listing/91502/1 "2021-11-16T09:22:23Z")

</div>

Wir würden gerne im Produkt Listing zugriff auf die Product Crossseller haben, um hier beim Mouseover ähnlich Produkte anzeigen zukönnen.

Ich bin inzwischen soweit gekommen das es mir reichen würde in der SalesChannelProductDefinition::processCriteria eine weitere Association „crossSellings.assignedProducts.product“ hinzuzufügen.

Ich habe mir dann eine Klasse geschrieben die von dieser ableitet und die Methode dementsprechend erweitert, bekomme aber dann immer den Fehler:

```auto
Shopware\Core\Framework\DataAbstractionLayer\FieldCollection::compile(): Argument #1 ($registry) must be of type Shopware\Core\Framework\DataAbstractionLayer\DefinitionInstanceRegistry, null given, called in /var/www/swpharao/app/platform/src/Core/Framework/DataAbstractionLayer/EntityDefinition.php on line 184

```

Kann mir hier jemand helfen, oder hat jemand eine bessere Idee für unser vorhaben?

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [18. November 2021 um 16:21 UTC](https://forum.shopware.com/t/crossseller-im-produkt-listing/91502/2 "2021-11-18T16:21:36Z")

</div>

Wieso nicht einfach per Subscription die Assoziation crossSelling hinzufügen?

---

<div class="post-metadata">

**Author:** ![f.mertens](https://avatars.discourse-cdn.com/v4/letter/f/7993a0/32.png) [@f.mertens](https://forum.shopware.com/u/f.mertens)\
**Post date:** [19. November 2021 um 04:51 UTC](https://forum.shopware.com/t/crossseller-im-produkt-listing/91502/3 "2021-11-19T04:51:30Z")

</div>

Weil mir das gerade so gar nichts sagt.  
Subsription kenne ich mit Zusammenhang von Shopware nur für die Pro Version oder so.

Wenn du es mir kurz erklären könntest, wäre das super.

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [19. November 2021 um 08:55 UTC](https://forum.shopware.com/t/crossseller-im-produkt-listing/91502/4 "2021-11-19T08:55:56Z")

</div>

Subscription war die Autokorrektur. Sollte subscriber lauten:

> **[Listening to events](https://developer.shopware.com/docs/guides/plugins/plugins/plugin-fundamentals/listening-to-events)**

Dort einfach ProductListingCriteriaEvent::class abfangen und dann per $event-\>getCriteria()-\>addAssociation(‚crossselling‘); hinzufügen. (Kann sein, dass crossselling anders geschrieben werden muss).

---

<div class="post-metadata">

**Author:** ![f.mertens](https://avatars.discourse-cdn.com/v4/letter/f/7993a0/32.png) [@f.mertens](https://forum.shopware.com/u/f.mertens)\
**Post date:** [19. November 2021 um 09:39 UTC](https://forum.shopware.com/t/crossseller-im-produkt-listing/91502/5 "2021-11-19T09:39:54Z")

</div>

@Max_Shop vielen dank.

Mit den ganzen Events muss ich mich wohl noch intensiver mit beschäftigen.
