# Farbvarianten auf Listings

**URL:** https://forum.shopware.com/t/farbvarianten-auf-listings/40275
**Category:** Programmierung
**Created:** [4. Oktober 2016 um 14:53 UTC](https://forum.shopware.com/t/farbvarianten-auf-listings/40275 "2016-10-04T14:53:39Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![mbabucke](https://avatars.discourse-cdn.com/v4/letter/m/bcef8e/32.png) [@mbabucke](https://forum.shopware.com/u/mbabucke)
#### Post date: [4. Oktober 2016 um 14:53 UTC](https://forum.shopware.com/t/farbvarianten-auf-listings/40275/1 "2016-10-04T14:53:39Z")

</div>

Hallo zusammen!

in einem Projekt von mir sollen die Farbvarianten einzeln auf den Listings erscheinen - und nicht nur die Stammartikel.

Durch Recherche bin ich auf folgenden Foren-Thread gestoßen, bei dem einer der Shopware&nbsp;Mitarbeiter beschreibt, wie das technisch zu lösen sei:  
[https://forum.shopware.com/discussion/35578/artikelvarianten-als-eigenstaendige-artikel-in-kategorieuebersicht#Comment\_154695](https://forum.shopware.com/discussion/35578/artikelvarianten-als-eigenstaendige-artikel-in-kategorieuebersicht#Comment_154695)

Ich habee&nbsp;auf diesem Fundament eine Anpassung durchgeführt und dies hat auch wunderbar funktioniert. Allerdings möchte ich&nbsp;ungerne direkt in Shopware-Klassen eigenen Code schreiben und wollte&nbsp;daher diese Anpassungen in ein Modul auslagern. Dabei allerdings stehe ich da&nbsp;vor einem Problem:

Wenn ich in einem Plugin die QueryBuilderFactory (aus dem SearchBundleDBAL) beim Event „Enlight\_Bootstrap\_AfterInitResource\_shopware\_searchdbal.dbal\_query\_builder\_factory“ durch eine eigene ersetzen, welche ebenfalls das QueryBuilderFactoryInterface implementiert, dort die gewünschten Änderungen durchführen und die eigene QueryBuilderFactory, anstelle der ursprünglichen, in den Shopware DI-Container setzen, funktioniert das erstmal problemlos.

Allerdings kommt dann das große Problem, dass diverse Klassen (z.B. alle FacetHandler aus dem SearchBundleDBAL) im Konstruktor explizit die QueryBuilderFactory aus dem Namespace Shopware\Bundle\SearchBundleDBAL\QueryBuilderFactory entgegen nehmen. Dadurch funktioniert dann der Shop nicht mehr, da dort dann versucht wird die eigene QueryBuilderFactory reinzureichen.

Daher folgende Fragen:

1.) Gibt es hier irgend einen Weg das gewünschte Feature als Plugin umzusetzen - ohne direkt den Shopware-Code zu editieren?  
2.) Wieso nehmen u.a. die ganzen FacetHandler nur direkt die Shopware\Bundle\SearchBundleDBAL\QueryBuilderFactory entgegen und nicht alle Objekte von Klassen, die das QueryBuilderFactoryInterface implementiert haben?

Vielen Dank im Voraus für Hilfe oder Gedankenanstöße jeder Art! 🙂

---

<div class="post-metadata">

### Author: ![ABC9](https://avatars.discourse-cdn.com/v4/letter/a/d9b06d/32.png) [@ABC9](https://forum.shopware.com/u/ABC9)
#### Post date: [25. Oktober 2016 um 05:46 UTC](https://forum.shopware.com/t/farbvarianten-auf-listings/40275/2 "2016-10-25T05:46:58Z")

</div>

Genau das selbe Problem habe ich auch.  
Die ganzen Facets erwarten&nbsp;QueryBuilderFactory und nicht QueryBuilderFactoryInterface somit kracht es.

```
Fatal error: Uncaught TypeError: Argument 1 passed to Shopware\Bundle\SearchBundleDBAL\FacetHandler\VoteAverageFacetHandler::__construct() must be an instance of Shopware\Bundle\SearchBundleDBAL\QueryBuilderFactory, instance of ShopwarePlugins\SwagPluginSystem\SearchBundleDBAL\QueryBuilderFactory given, called in /home/vagrant/www/shopware/var/cache/production____REVISION ___/proxies/ShopwareProductionda39a3ee5e6b4b0d3255bfef95601890afd80709ProjectContainer.php on line 1370 and defined in /home/vagrant/www/shopware/engine/Shopware/Bundle/SearchBundleDBAL/FacetHandler/VoteAverageFacetHandler.php:72 Stack trace: #0 /home/vagrant/www/shopware/var/cache/production____ REVISION___/proxies/ShopwareProductionda39a3ee5e6b4b0d3255bfef95601890afd80709ProjectContainer.php(1370): Shopware\Bundle\SearchBundleDBAL\FacetHandler\VoteAverageFacetHandler->__construct(Object(ShopwarePlugins\SwagPluginSystem\SearchBundleDBAL\QueryBuilderFactory), Object(Doctrine\DBAL\Connection), Object(Shopware_Components_Snippet_Manager), Object(Shopware\Com in /home/vagrant/www/shopware/engine/Shopware/Bundle/SearchBundleDBAL/FacetHandler/VoteAverageFacetHandler.php on line 72 503 Service Unavailable

```

&nbsp;
