# Backendsuche erweitern

**URL:** <https://forum.shopware.com/t/backendsuche-erweitern/31103>\
**Category:** Programmierung\
**Created:** [5. Oktober 2015 um 10:46 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103 "2015-10-05T10:46:02Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Creatixx](https://avatars.discourse-cdn.com/v4/letter/c/c67d28/32.png) [@Creatixx](https://forum.shopware.com/u/Creatixx)\
**Post date:** [5. Oktober 2015 um 10:46 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/1 "2015-10-05T10:46:02Z")

</div>

Hi zusammen, ich hänge im Moment etwas fest. Es geht darum die globale Suche oben im Backend auf die s\_order\_attributes zu erweitern. Um es zu testen habe ich die Änderungen direkt in der Search.php vorgenommen, was auch ohne Probleme funktioniert. Nun wollte ich das Ganze zwecks Updatesicherheit über ein Plugin laufen lassen. Im Plugin wollte ich es so lösen: ` $this-\>subscribeEvent( 'Shopware\_Controllers\_Backend\_Search::getOrders::replace', 'replaceSearch' ); ` Es ist aber egal was ich in die replaceSearch schreibe, es hat keinerlei Auswirkungen. Bin ich überhaupt an der richtigen Stelle? Hat da jemand einen Tip für mich? Besten Dank vorab!!

---

<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:** [5. Oktober 2015 um 10:48 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/2 "2015-10-05T10:48:35Z")

</div>

Hast du „repalce“ auch so geschrieben?! Viele Grüße

---

<div class="post-metadata">

**Author:** ![Creatixx](https://avatars.discourse-cdn.com/v4/letter/c/c67d28/32.png) [@Creatixx](https://forum.shopware.com/u/Creatixx)\
**Post date:** [5. Oktober 2015 um 10:50 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/3 "2015-10-05T10:50:41Z")

</div>

Hi, nein sorry ist nur hier ein Schreibfehler. Besser ich gleich aus. Danke!

---

<div class="post-metadata">

**Author:** ![Creatixx](https://avatars.discourse-cdn.com/v4/letter/c/c67d28/32.png) [@Creatixx](https://forum.shopware.com/u/Creatixx)\
**Post date:** [5. Oktober 2015 um 12:20 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/4 "2015-10-05T12:20:47Z")

</div>

Ist dies so überhaupt der richtige Weg die Suche zu erweitern?

---

<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:** [5. Oktober 2015 um 12:33 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/5 "2015-10-05T12:33:29Z")

</div>

Ich habe mir das gerade mal genauer angeschaut. Die backend Suche ist tatsächlich relativ unflexibel und schwer anzupassen. Wird denn im cache Verzeichnis ein proxy mit deinem hook angelegt?! Viele Grüße

---

<div class="post-metadata">

**Author:** ![Creatixx](https://avatars.discourse-cdn.com/v4/letter/c/c67d28/32.png) [@Creatixx](https://forum.shopware.com/u/Creatixx)\
**Post date:** [5. Oktober 2015 um 12:48 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/6 "2015-10-05T12:48:32Z")

</div>

müsste dann ja wohl ShopwareControllersBackendSearchProxy.php sein, oder? Diese gibt es aber nicht.

---

<div class="post-metadata">

**Author:** ![Creatixx](https://avatars.discourse-cdn.com/v4/letter/c/c67d28/32.png) [@Creatixx](https://forum.shopware.com/u/Creatixx)\
**Post date:** [6. Oktober 2015 um 13:56 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/7 "2015-10-06T13:56:10Z")

</div>

Irgendwie stehe ich auf dem Schlauch. Aktuell wird wenn das Plugin aktiv die eigentliche Funktion unterbrochen, als keine Suche mehr möglich, aber es wird keine neue Funktion erkannt?! Bedeutet doch grundlegend das der Hook greift, oder? Wie müsste denn die “replaceSearch” aussehen, damit das funktioniert? ` $this-\>subscribeEvent( 'Shopware\_Controllers\_Backend\_Search::getOrders::replace', 'replaceSearch' ); ` Hat da jemand noch einen Tip für mich?

---

<div class="post-metadata">

**Author:** ![dirk\_designverign](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@dirk\_designverign](https://forum.shopware.com/u/dirk_designverign)\
**Post date:** [6. Oktober 2015 um 15:25 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/8 "2015-10-06T15:25:39Z")

</div>

Wie sieht denn deine replaceSearch function aus? Setzt Du einen Rückgabewert mit $args-\>setReturn()?

---

<div class="post-metadata">

**Author:** ![Creatixx](https://avatars.discourse-cdn.com/v4/letter/c/c67d28/32.png) [@Creatixx](https://forum.shopware.com/u/Creatixx)\
**Post date:** [6. Oktober 2015 um 17:14 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/9 "2015-10-06T17:14:31Z")

</div>

ja das schon. Hab den Fehler gefunden! :shock: Hatte unten einfach das $this-\>searchLimit übersehen was so ja in meiner Bootstrap nicht gehen kann. Habe es jetzt direkt gesetzt. Allerdings Frage ich mich gerade ob ich darauf überhaupt zugreifen könnte aus meinem Plugin heraus?? ` class Shopware\_Controllers\_Backend\_Search extends Shopware\_Controllers\_Backend\_ExtJs { /\*\* @var int - The limit for all SQL queries \*/ public $searchLimit = 5; `

---

<div class="post-metadata">

**Author:** ![dirk\_designverign](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@dirk\_designverign](https://forum.shopware.com/u/dirk_designverign)\
**Post date:** [7. Oktober 2015 um 08:02 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/10 "2015-10-07T08:02:53Z")

</div>

Mit $args-\>getSubject() kriegst Du eine Instanz des Proxies. Da dieser den Backend Controller extendet hast Du damit Zugriff auf die öffentlichen Variablen.

---

<div class="post-metadata">

**Author:** ![Creatixx](https://avatars.discourse-cdn.com/v4/letter/c/c67d28/32.png) [@Creatixx](https://forum.shopware.com/u/Creatixx)\
**Post date:** [7. Oktober 2015 um 12:54 UTC](https://forum.shopware.com/t/backendsuche-erweitern/31103/11 "2015-10-07T12:54:30Z")

</div>

Besten Dank für den Tip!! :thumbup: Mit `$searchLimit = $arguments-\>getSubject()-\>searchLimit;` ist es jetzt ne runde Sache!
