# Reihenfolge der Bestellstatus im Dropdown im Backend ändern

**URL:** <https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644>\
**Category:** Shopware 3.5\
**Tags:** administration\
**Created:** [14. August 2015 um 15:24 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644 "2015-08-14T15:24:39Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![chris\_52](https://avatars.discourse-cdn.com/v4/letter/c/b19c9b/32.png) [@chris\_52](https://forum.shopware.com/u/chris_52)\
**Post date:** [14. August 2015 um 15:24 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/1 "2015-08-14T15:24:39Z")

</div>

Hallo, wir würden gerne die Reihenfolge der Bestellstatus bei der Anzeige im Dropdown im Backend ändern, also sowohl für den Filter in der Bestellübersicht als auch bei einer Einzelbestellung, wo der Status gesetzt wird. Sie sollten möglichst chronologisch angezeigt werden. Mit phpmyadmin habe ich in der Tabelle s\_core\_states das Feld position (für group = state) geändert, da ich dachte, dass wäre für die Sortierung zuständig. Danach Cache gelöscht. Aber nichts ändert sich. Muss ich noch was anderes machen? Shopware 4.3.6

---

<div class="post-metadata">

**Author:** ![Shop\_Session](https://avatars.discourse-cdn.com/v4/letter/s/f9ae1b/32.png) [@Shop\_Session](https://forum.shopware.com/u/Shop_Session)\
**Post date:** [14. August 2015 um 15:58 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/2 "2015-08-14T15:58:09Z")

</div>

Hey Chris, das Feld s\_core\_states.position klingt erstmal intuitiv, hat aber im Backend keine Auswirkung auf die Sortierung. Wenn Du das umsortieren willst, müsste man dafür ein Plugin schreiben, Aufwand ca. zwei Stunden. Dann kann man z.B. eine chronologische Sortierung leicht umsetzen. Freundliche Grüße, Tristan

---

<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:** [14. August 2015 um 16:17 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/3 "2015-08-14T16:17:44Z")

</div>

[quote=“Shop Session”]Aufwand ca. zwei Stunden[/quote] ` /\*\* \* Return the subscribed controller events. \* \* @return array \*/ public static function getSubscribedEvents() { // return the events return array( 'Shopware\Models\Order\Repository::getOrderStatusQueryBuilder::after' =\> 'afterGetOrderStatusQueryBuilderHook' ); } /\*\* \* Add a default order. \* \* @param \Enlight\_Hook\_HookArgs $arguments \* \* @return void \*/ public function afterGetOrderStatusQueryBuilderHook( \Enlight\_Hook\_HookArgs $arguments ) { // get the query builder /\* @var $builder \Doctrine\ORM\QueryBuilder \*/ $builder = $arguments-\>getReturn(); // set order $builder-\>orderBy( "status.position", "DESC" ); // set new builder $arguments-\>setReturn( $builder ); } ` Aufwand ca. 5 Minuten 😃 Viele Grüße

---

<div class="post-metadata">

**Author:** ![chris\_52](https://avatars.discourse-cdn.com/v4/letter/c/b19c9b/32.png) [@chris\_52](https://forum.shopware.com/u/chris_52)\
**Post date:** [14. August 2015 um 19:21 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/4 "2015-08-14T19:21:25Z")

</div>

Vielen Dank! Aber als Neuling weiß ich leider nicht, wohin mit dem Code. Hab noch keine Erfahrung mit Backend-Plugins. ☹ Und wofür ist dann das Feld s\_core\_states.position, wenn nicht für die Sortierung?

---

<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:** [14. August 2015 um 19:32 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/5 "2015-08-14T19:32:47Z")

</div>

[quote=„chris\_52“]Vielen Dank! Aber als Neuling weiß ich leider nicht, wohin mit dem Code. Hab noch keine Erfahrung mit Backend-Plugins. :([/quote] Kein Problem - jeder fängt mal klein an. Hier findest du die Shopware Doku inkl. Anleitungen und Tutorials: [http://community.shopware.com/Doku\_cat\_ … 1395069908](http://community.shopware.com/Doku%5C_cat%5C_938.html?%5C_ga=1.198113775.1370012786.1395069908) [quote=„chris\_52“]Und wofür ist dann das Feld s\_core\_states.position, wenn nicht für die Sortierung?[/quote] Gute Frage… Viele Grüße

---

<div class="post-metadata">

**Author:** ![chris\_52](https://avatars.discourse-cdn.com/v4/letter/c/b19c9b/32.png) [@chris\_52](https://forum.shopware.com/u/chris_52)\
**Post date:** [15. August 2015 um 12:22 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/6 "2015-08-15T12:22:16Z")

</div>

Hallo, ich kenne die Doku und hab sie sogar gelesen, aber leider keine Erleuchtung gehabt, wie das mit Deinem Code-Schnipsel gemeint sein könnte. Bisher haben wir uns zwei kleine Frontend-Plugins schreiben lassen und ich habe versucht, sie nachzuvollziehen, was auch ungefähr funktioniert hat. Das wäre jetzt mein erstes “eigenes” Plugin, also neues Plugin angelegt und installiert. Statt Deiner `function getSubscribedEvents()` (wusste nicht wohin damit :oops:) habe ich `$this-\>subscribeEvent` genommen. Funktioniert auch prima für die Filterung in der Bestellübersicht. Soweit so gut. Aber leider ist die Reihenfolge, um den Status bei einer Einzelbestellung zu setzen, davon nicht betroffen. Wäre für einen Tipp dankbar!

---

<div class="post-metadata">

**Author:** ![chris\_52](https://avatars.discourse-cdn.com/v4/letter/c/b19c9b/32.png) [@chris\_52](https://forum.shopware.com/u/chris_52)\
**Post date:** [24. August 2015 um 17:52 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/7 "2015-08-24T17:52:32Z")

</div>

Hallo, nochmal: wie finde ich den Event (oder Hook), wo ich ansetzen muss, damit auch beim Setzen des Bestellstatus in einer Bestellung die geänderte Bestellreihenfolge angezeigt wird?

---

<div class="post-metadata">

**Author:** ![chemiebar](https://avatars.discourse-cdn.com/v4/letter/c/7bcc69/32.png) [@chemiebar](https://forum.shopware.com/u/chemiebar)\
**Post date:** [25. November 2015 um 17:44 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/8 "2015-11-25T17:44:03Z")

</div>

Hallo, ich stehe vor dem gleichen Problem: Wie muss der oben stehende Code eingebunden werden, damit man die Reihenfolge der Bestellstati ändern kann? Danke.

---

<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:** [25. November 2015 um 19:31 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/9 "2015-11-25T19:31:06Z")

</div>

Mein Code nimmt euch 95% der Arbeit ab. Die restlichen 5% könnt ihr über die Doku erlernen. Viele Grüße

---

<div class="post-metadata">

**Author:** ![chemiebar](https://avatars.discourse-cdn.com/v4/letter/c/7bcc69/32.png) [@chemiebar](https://forum.shopware.com/u/chemiebar)\
**Post date:** [25. November 2015 um 19:35 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/10 "2015-11-25T19:35:50Z")

</div>

Danke für die konstruktive Antwort. Da geht man doch gerne ins Forum…

---

<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:** [26. November 2015 um 11:24 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/11 "2015-11-26T11:24:06Z")

</div>

Siehe [sonstiges-f58/faq-haufig-gestellte-fragen-t24425.html#p109837](http://forum.shopware.com/sonstiges-f58/faq-haufig-gestellte-fragen-t24425.html#p109837) [quote]Könnt oder wollt ihr euch nicht mit der Thematik auseinander setzen, dann missversteht die Helfer des Forums nicht als kostenlose Dienstleister, sondern wendet euch an eine Shopware Agentur. [/quote] Viele Grüße

---

<div class="post-metadata">

**Author:** ![chris\_52](https://avatars.discourse-cdn.com/v4/letter/c/b19c9b/32.png) [@chris\_52](https://forum.shopware.com/u/chris_52)\
**Post date:** [26. November 2015 um 13:24 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/12 "2015-11-26T13:24:28Z")

</div>

Hallo chemiebär, ich habe das zumindest für die Filterung in der Bestellübersicht so gelöst, dass ich in der Bootstrap den Hook registriert hab. ` public function install() { $this-\>subscribeEvent('Shopware\Models\Order\Repository::getOrderStatusQueryBuilder::after', 'afterGetStatusQueryBuilderHook' ); return true; } ` Und da auch die Funktion afterGetStatusQueryBuilderHook von Aquatuning definiert hab. Leider funktioniert das eben nur für die Filterung in der Bestellübersicht. Welcher Hook für das Setzen des Bestellstatus in einer Bestellung zuständig ist, weiß ich leider immer noch 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:** [26. Januar 2016 um 12:07 UTC](https://forum.shopware.com/t/reihenfolge-der-bestellstatus-im-dropdown-im-backend-andern/29644/13 "2016-01-26T12:07:04Z")

</div>

[quote=“chris\_52”]Hallo chemiebär, ich habe das zumindest für die Filterung in der Bestellübersicht so gelöst, dass ich in der Bootstrap den Hook registriert hab. ` public function install() { $this-\>subscribeEvent('Shopware\Models\Order\Repository::getOrderStatusQueryBuilder::after', 'afterGetStatusQueryBuilderHook' ); return true; } ` Und da auch die Funktion afterGetStatusQueryBuilderHook von Aquatuning definiert hab. Leider funktioniert das eben nur für die Filterung in der Bestellübersicht. Welcher Hook für das Setzen des Bestellstatus in einer Bestellung zuständig ist, weiß ich leider immer noch nicht.[/quote] Hallo, die zuständige Stelle für die Sortierung in den Bestelldetails wäre in /engine/Shopware/Controllers/Backend/Order.php ` /\*\* \* This class has its own OrderStatusQuery as we need to get rid of states with satus.id = -1 \*/ public function getOrderStatusQuery($filter = null, $order = null, $offset = null, $limit = null) { $builder = Shopware()-\>Models()-\>createQueryBuilder(); $builder-\>select(array('status')) -\>from('Shopware\Models\Order\Status', 'status') -\>andWhere("status.group = 'state'"); if ($filter !== null) { $builder-\>addFilter($filter); } if ($order !== null) { $builder-\>addOrderBy($order); } if ($offset !== null) { $builder-\>setFirstResult($offset) -\>setMaxResults($limit); } return $builder-\>getQuery(); }` Ich sehe hier aber nur die Möglichkeit die komplette Funktion zu überschreiben, nicht aber zu erweitern. Kann mich aber auch irren! Vielleicht kann da jemand anders noch was dazu sagen. ` $this-\>subscribeEvent( 'Shopware\_Controllers\_Backend\_Order::getOrderStatusQuery::replace', 'repalceGetOrderStatusQuery'` Gruß
