# Per Plugin den SQL Select der Suche verändern (Hook/Dekorieren)

**URL:** <https://forum.shopware.com/t/per-plugin-den-sql-select-der-suche-verandern-hook-dekorieren/46080>\
**Category:** Programmierung\
**Created:** [31. Mai 2017 um 15:17 UTC](https://forum.shopware.com/t/per-plugin-den-sql-select-der-suche-verandern-hook-dekorieren/46080 "2017-05-31T15:17:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![StefanPoensgen](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/stefanpoensgen/32/14750_2.png) [@StefanPoensgen](https://forum.shopware.com/u/StefanPoensgen)\
**Post date:** [31. Mai 2017 um 15:17 UTC](https://forum.shopware.com/t/per-plugin-den-sql-select-der-suche-verandern-hook-dekorieren/46080/1 "2017-05-31T15:17:27Z")

</div>

Hallo

wie schaffe ich es per Hook oder gehts auch über Dekorieren den Select den die Function „buildQuery“ in „\engine\Shopware\Bundle\SearchBundleDBAL\SearchTerm\SearchTermQueryBuilder.php“ erstellt zu erweitern.

Versuche mich schon den ganzen Tag daran und werde aus den vorhandenen Docs leider nicht schlauer

[Shopware events](https://developers.shopware.com/developers-guide/event-guide/) und&nbsp;[Plugin quick Startup Guide](https://developers.shopware.com/developers-guide/plugin-quick-start/#hooking-into-the-system) habe ich mir bereits angeschaut und auch die Beispiele geladen.

&nbsp;

Ziel ist es, dass ich der Suche einen weiteren Parameter übergebe über welchen ich dann die Artikel eingrenzen möchte auf welche die Suche angewendet wird. Es existiert also schon eine Datenbank die aussagt welche Artikel zu diesem&nbsp;Parameter passend sind.

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [31. Mai 2017 um 15:38 UTC](https://forum.shopware.com/t/per-plugin-den-sql-select-der-suche-verandern-hook-dekorieren/46080/2 "2017-05-31T15:38:34Z")

</div>

Du suchst:&nbsp;[Service extensions](https://developers.shopware.com/developers-guide/shopware-5-core-service-extensions/)

Viele Grüße

---

<div class="post-metadata">

**Author:** ![StefanPoensgen](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/stefanpoensgen/32/14750_2.png) [@StefanPoensgen](https://forum.shopware.com/u/StefanPoensgen)\
**Post date:** [1. Juni 2017 um 07:21 UTC](https://forum.shopware.com/t/per-plugin-den-sql-select-der-suche-verandern-hook-dekorieren/46080/3 "2017-06-01T07:21:09Z")

</div>

Vielen Dank.

Jetzt bin ich offensichtlich schon mal einen Schritt weiter. Mir wird allerdings nicht ganz klar wie ich nun die Funktion „buildQuery“ erweitern kann ohne die Funktion vollständig zu kopieren, bzw ich möchte ja ledigleich „$query“ innerhalb der Funktion verändern.

---

<div class="post-metadata">

**Author:** ![derwunner](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@derwunner](https://forum.shopware.com/u/derwunner)\
**Post date:** [1. Juni 2017 um 07:35 UTC](https://forum.shopware.com/t/per-plugin-den-sql-select-der-suche-verandern-hook-dekorieren/46080/4 "2017-06-01T07:35:39Z")

</div>

Die Funktion gibt den Query zurück. Du hast hier ein Interface, lässt also auf einen Service schließen.

Folglich: Von&nbsp;SearchTermQueryBuilder ableiten und parent aufrufen:

```
class MySearchTermQueryBuilder extends Shopware\Bundle\SearchBundleDBAL\SearchTerm\SearchTermQueryBuilder
{
    public function buildQuery($term)
    {
       $query = parent::buildQuery($term);
       $query->select(...);

       return $query;
    }
}

```

Dann irgendwo in Deinem Plugin den Service ersetzen:

```
$this->container->set('shopware_searchdbal.search_query_builder_dbal', new MySearchTermQueryBuilder());

```

Mehr Infos zum Ersetzen siehe Doku:&nbsp;[Service extensions](https://developers.shopware.com/developers-guide/shopware-5-core-service-extensions/)

---

<div class="post-metadata">

**Author:** ![StefanPoensgen](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/stefanpoensgen/32/14750_2.png) [@StefanPoensgen](https://forum.shopware.com/u/StefanPoensgen)\
**Post date:** [1. Juni 2017 um 08:31 UTC](https://forum.shopware.com/t/per-plugin-den-sql-select-der-suche-verandern-hook-dekorieren/46080/5 "2017-06-01T08:31:05Z")

</div>

Vielen Dank. Jetzt komme ich weiter.

&nbsp;

&nbsp;
