# Neues Plugin-System: Doctrine Model Event Subscriber via services.xml funktioniert nicht

**URL:** <https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734>\
**Category:** Programmierung\
**Created:** [11. September 2016 um 18:40 UTC](https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734 "2016-09-11T18:40:41Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![carl](https://avatars.discourse-cdn.com/v4/letter/c/ee7513/32.png) [@carl](https://forum.shopware.com/u/carl)\
**Post date:** [11. September 2016 um 18:40 UTC](https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734/1 "2016-09-11T18:40:41Z")

</div>

Ich versuche mich gerade am neuen 5.2 Plugin System und möchte mich auf ein Model Update-Event registrieren. Aber scheinbar greift der Listener nicht.

So sieht es bisher in etwa aus:

Resources/services.xml:

Subscriber/DocumentSubscriber.php:

```
class DocumentSubscriber implements EventSubscriber
{
    public function getSubscribedEvents()
    {
        return [
            'Shopware\Models\Order\Order::postUpdate' => 'onOrderUpdate',
        ];
    }

    public function onOrderUpdate(\Enlight_Event_EventArgs $arguments)
    {
        /** @var Order $order */
        $order = $arguments->get('entity');

        /** @var EntityManager $manager */
        $manager = $arguments->get('entityManager');

        echo "";
        print_r(Debug::dump($order, 3));
        print_r(Debug::dump($manager, 3));
        echo "";
        exit;
    }
}

```

Zuerst habe ich es mit mit dem Service Tag

probiert, aber das Doctrine Tag von [http://symfony.com/doc/current/doctrine/event\_listeners\_subscribers.html](http://symfony.com/doc/current/doctrine/event_listeners_subscribers.html) ist vermutlich bei den Model-Events die richtige Wahl. Trotzdem bekomme ich keine Ausgabe beim Updaten einer Bestellung per API oder übers Backend.

Hat jemand eine Idee?

---

<div class="post-metadata">

**Author:** ![Benjamin\_Cremer](https://avatars.discourse-cdn.com/v4/letter/b/a8b319/32.png) [@Benjamin\_Cremer](https://forum.shopware.com/u/Benjamin_Cremer)\
**Post date:** [12. September 2016 um 09:12 UTC](https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734/2 "2016-09-12T09:12:34Z")

</div>

Hallo Carl,

du hast zwei Möglichkeiten.

1. Du verwendest einen Shopware Event-Subscriber, dazu wird das tag&nbsp; **shopware.event\_subscriber** werdet und auch die&nbsp;getSubscribedEvents() methode wie in deinem Beispielcode
2. Du verwendest einen Doctrine Event subscriber, dieser wird per&nbsp; **doctrine.event\_subscriber** registriert, der Subscriber sieht aber etwas anders aus, schaue dir dazu&nbsp;mal die Implementierung des [OrderHistorySubscribers](https://github.com/shopware/shopware/blob/v5.2.6/engine/Shopware/Models/Order/OrderHistorySubscriber.php)&nbsp;sowie dessen [Registrierung](https://github.com/shopware/shopware/blob/v5.2.6/engine/Shopware/Components/DependencyInjection/services.xml#L227)&nbsp;im Service Container an.

&nbsp;

&nbsp;

Viele Grüße

Benjamin Cremer&nbsp; ![Shopware](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "Shopware")

---

<div class="post-metadata">

**Author:** ![carl](https://avatars.discourse-cdn.com/v4/letter/c/ee7513/32.png) [@carl](https://forum.shopware.com/u/carl)\
**Post date:** [12. September 2016 um 10:36 UTC](https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734/3 "2016-09-12T10:36:20Z")

</div>

Danke, beide Varianten funktionieren! Warum es gestern nicht gekappt hat, kann leider nicht sagen.

---

<div class="post-metadata">

**Author:** ![DannyDan](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@DannyDan](https://forum.shopware.com/u/DannyDan)\
**Post date:** [31. Oktober 2017 um 17:44 UTC](https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734/4 "2017-10-31T17:44:03Z")

</div>

Nabend,

ist zwar schon ein wenig älter der Thread, aber ich habe aktuell eine Frage dazu: Das ganze funktioniert ja nicht nach dem alten Pluginsystem. Also habe ich mich auf

" **Shopware\Models\Order\Order::postUpdate"** subscribed erhalte aber über die History nicht den korrekten vorherigen Status. Dieser ist immer „offen“.

Ich nutze das hier beschriebene Event: [Shopware models](https://developers.shopware.com/developers-guide/models/#update-event)

Hat evtl. irgendwer eine Idee dazu?

Danny

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [31. Oktober 2017 um 17:53 UTC](https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734/5 "2017-10-31T17:53:30Z")

</div>

Hallo,

den Status vor Bestelländerung dürftest du über preUpdate erhalten. Bei postUpdate würde er ja schon geändert.

Beste Grüße&nbsp;

Sebastian

---

<div class="post-metadata">

**Author:** ![DannyDan](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@DannyDan](https://forum.shopware.com/u/DannyDan)\
**Post date:** [31. Oktober 2017 um 18:17 UTC](https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734/6 "2017-10-31T18:17:45Z")

</div>

Hi Sebastian,

guter HInweis. Habe das gerade getestet aber bekomme leider auch nur den Status „offen“ als alten Staus. ☹

Danny

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [31. Oktober 2017 um 18:47 UTC](https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734/7 "2017-10-31T18:47:42Z")

</div>

Hallo,

dann ist der Status der Bestellung, bevor Sie gespeichert wird, auch “offen”.

Beste Grüße

Sebastian

---

<div class="post-metadata">

**Author:** ![DannyDan](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@DannyDan](https://forum.shopware.com/u/DannyDan)\
**Post date:** [31. Oktober 2017 um 19:27 UTC](https://forum.shopware.com/t/neues-plugin-system-doctrine-model-event-subscriber-via-services-xml-funktioniert-nicht/39734/8 "2017-10-31T19:27:15Z")

</div>

Leider nicht. Ich habe den Status vorher geändert über das Backend auf “1. Mahnung”.

Danny
