# Plugin Reihenfolge

**URL:** <https://forum.shopware.com/t/plugin-reihenfolge/39755>\
**Category:** Programmierung\
**Created:** [12. September 2016 um 11:31 UTC](https://forum.shopware.com/t/plugin-reihenfolge/39755 "2016-09-12T11:31:37Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![alex220x](https://avatars.discourse-cdn.com/v4/letter/a/ccd318/32.png) [@alex220x](https://forum.shopware.com/u/alex220x)\
**Post date:** [12. September 2016 um 11:31 UTC](https://forum.shopware.com/t/plugin-reihenfolge/39755/1 "2016-09-12T11:31:37Z")

</div>

Hallo,

kann man beeinflussen, in welcher Reihenfolge ein &nbsp;Plugin aufgerufen wird?

Wir würden gerne ein Plugin, vor einem anderen Plugin ausführen.

Die Funktion subscribeEvent($event, $listener, $position = null) hat ja den Parameter $position.

&nbsp;

Ist das vielleicht ein Ansatz?

&nbsp;

Grüße,

Alexander H.

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [12. September 2016 um 11:45 UTC](https://forum.shopware.com/t/plugin-reihenfolge/39755/2 "2016-09-12T11:45:28Z")

</div>

Hi,

ja, genau - die Events werden in der Reihenfolge der Position ausgeführt - je größer der Wert, desto später kommt der Callback des Plugins zur Ausführung. Negative Werte sind auch möglich.&nbsp;

Alternativ kannst du im Fall der Pre- und PostDispatch-Events auch einfach ein anderes Event nehmen: Bei den PostDispatch-Events ist die Reihenfolge beispielsweise folgende:

- `Enlight_Controller_Action_PostDispatchSecure_MODULE_CONTROLLER`
- `Enlight_Controller_Action_PostDispatchSecure_MODULE`
- `Enlight_Controller_Action_PostDispatchSecure`
- `Enlight_Controller_Action_PostDispatch_MODULE_CONTROLLER`
- `Enlight_Controller_Action_PostDispatch_MODULE`
- `Enlight_Controller_Action_PostDispatch`

&nbsp;

Besten Gruß,

Daniel

---

<div class="post-metadata">

**Author:** ![alex220x](https://avatars.discourse-cdn.com/v4/letter/a/ccd318/32.png) [@alex220x](https://forum.shopware.com/u/alex220x)\
**Post date:** [12. September 2016 um 12:15 UTC](https://forum.shopware.com/t/plugin-reihenfolge/39755/3 "2016-09-12T12:15:27Z")

</div>

Hey Daniel,

danke für die schnelle Antwort!

Kann man die Bootstrap.php im eigenen Template überschreiben?&nbsp;Vlt. hast du ja auch darauf eine Antwort:

[https://forum.shopware.com/discussion/40396/plugin-bootstrap-php-im-template-ueberschreiben?new=1](https://forum.shopware.com/discussion/40396/plugin-bootstrap-php-im-template-ueberschreiben?new=1)

Beste Grüße,

Alexander

&nbsp;

---

<div class="post-metadata">

**Author:** ![WernerBu](https://avatars.discourse-cdn.com/v4/letter/w/71c47a/32.png) [@WernerBu](https://forum.shopware.com/u/WernerBu)\
**Post date:** [4. März 2019 um 10:53 UTC](https://forum.shopware.com/t/plugin-reihenfolge/39755/4 "2019-03-04T10:53:52Z")

</div>

Hallo,

wie ist dann die Reihenfolge, wenn die Plugins nichts als position angegeben haben?

Bleibt das dem Zufall überlassen, nach dem Namen des Plugins …?

Wenn man dann einen negativen Wert für das eigene Plugin angibt, wird das dann immer vor

allen anderen Plugins ausgeführt, die nichts angegeben haben?

Viele Grüße,

Werner.

---

<div class="post-metadata">

**Author:** ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)\
**Post date:** [5. März 2019 um 09:03 UTC](https://forum.shopware.com/t/plugin-reihenfolge/39755/5 "2019-03-05T09:03:08Z")

</div>

Die Plugins werden grob gesagt&nbsp;nach der Installationsreihefolge initialisiert. Die Query zum Ermitteln der Plugins ist folgende:

```
SELECT name, version, namespace FROM s_core_plugins WHERE active = 1 AND installation_date IS NOT NULL;

```

Eine negative Position schiebt den Subscriber vor alle anderen Plugins. Das ist richtig. Wenn man keine Position angibt, bekommen er die Position 0 in der Installationsreihefolge.

HTH, Arne
