# Plugins auch im Produktivmodus (HTTP Cache) immer ausführen

**URL:** <https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139>\
**Category:** Programmierung\
**Created:** [25. Juli 2015 um 23:38 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139 "2015-07-25T23:38:17Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [25. Juli 2015 um 23:38 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/1 "2015-07-25T23:38:17Z")

</div>

Liebes Forum 🙂 🙂 ich bin ziemlich verzweifelt. Wenn man den HTTP Cache einschaltet (im Performancemodul „Shop im Produktivmodus verwenden“), dann werden meine Plugins nur einmal beim ersten Aufruf der entsprechenden Seite ausgeführt, bei weiteren Seitenaufrufen nicht mehr. Dann denkt shopware wohl, es ist ja schon abgerufen und hat es im cache. Ich möchte aber bestimmte Dinge bei jedem Seitenaufruf machen, z.B. einen counter, Datenbankzugriffe…) Kann ich shopware irgendwie dazu bringen bestimmte Bootstrap.php (bzw. die Event Listener Funktionen) immer abzuarbeiten, wenn die entsprechende Seite aufgerufen wird? Zum Beispiel habe ich eine Boostrap, die bei einer Kategorieseite aufgerufen werden soll `... public function install() { $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PreDispatch\_Frontend\_Listing', 'onPreDispatchListing' ); return true; } ` Aber diese Funktion wird bei jeder Kategorieseite nur ein mal ausgeführt. Liebe Grüße Kerstin

---

<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. Juli 2015 um 00:06 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/2 "2015-07-26T00:06:06Z")

</div>

[quote=“Kerstin83”]Kann ich shopware irgendwie dazu bringen bestimmte Bootstrap.php (bzw. die Event Listener Funktionen) immer abzuarbeiten, wenn die entsprechende Seite aufgerufen wird?[/quote] Nein. Der dispatch Prozess wird überhaupt nicht durchlaufen, wenn die Seite aus dem cache geladen wird. [quote=“Kerstin83”]Ich möchte aber bestimmte Dinge bei jedem Seitenaufruf machen, z.B. einen counter, Datenbankzugriffe…)[/quote] Dann brauchst du ein widget, das du via ESI tag lädst. Siehe [http://community.shopware.com/Shopware- … 2F\_ESI-Tag](http://community.shopware.com/Shopware-4-Http-Proxy-Cache%5C_detail%5C_817.html#Action-Plugin%5C_.2F%5C_ESI-Tag) Viele Grüße

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [26. Juli 2015 um 00:48 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/3 "2015-07-26T00:48:05Z")

</div>

Vielen Dank 🙂 dann weiss ich ja schon einmal woran das liegt. Gibt es vielleicht ein Beispiel Plugin dafür? Mit der Beschreibung kann ich so leider nicht allzuviel anfangen ☹ LG Kerstin

---

<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. Juli 2015 um 01:03 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/4 "2015-07-26T01:03:35Z")

</div>

Mir ist keins bekannt. 1.) Smarty action plugin nutzen: {action module=“widgets” controller=“DeinPlugin” action=“test”} 2.) Deinen widget controller registrieren: Enlight\_Controller\_Dispatcher\_ControllerPath\_Widgets\_DeinPlugin 3.) Deinen controller schreiben: class Shopware\_Controllers\_Widgets\_DeinPlugin {} 4.) Deine action schreiben: public function testAction() {} Viele Grüße

---

<div class="post-metadata">

**Author:** ![Thomas](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/thomas/32/8167_2.png) [@Thomas](https://forum.shopware.com/u/Thomas)\
**Post date:** [26. Juli 2015 um 14:54 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/5 "2015-07-26T14:54:53Z")

</div>

[quote=„Kerstin83“]Gibt es vielleicht ein Beispiel Plugin dafür? Mit der Beschreibung kann ich so leider nicht allzuviel anfangen :([/quote] Meinst Du so etwas? [http://shopware-blog.com/eigene-templat … chliessen/](http://shopware-blog.com/eigene-templatebereiche-vom-shopware-http-cache-ausschliessen/) Gruß

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [26. Juli 2015 um 19:03 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/6 "2015-07-26T19:03:44Z")

</div>

genau so etwas meinte ich, vielen Dank 🙂 Allerdings läuft das Plugin bei mir nicht. Ich habe die entsprechenden Dateien unter den Ordnern erstellt und das Plugin installiert. Das hat geklappt. Habe ich das richtig verstanden, dass ich dann in einer .tpl Datei an beliebiger Stelle diesen Code `{action module=widgets controller=ExcludeTemplate action=index}` hineinschreiben kann und das gibt dann eine Zufallszahl aus? Also bei mir wird die Seite dann nicht mehr ganz geladen. Woran könnte das liegen?

---

<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:** [26. Juli 2015 um 19:11 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/7 "2015-07-26T19:11:49Z")

</div>

Hi, durch das Snippet wird ein Subrequest auf Widgets/ExcludeTemplate::indexAction ausgeführt. Den Controller musst du also hinterlegen. Für den Controller benötigst du dann wiederum ein eigenes Template, in dem du bspw. deine Zahl ausgeben kannst. Je mehr du von diesen Subrequests hast, desto weniger effektiv ist das Caching, von daher kann es ggf. auch sinnvoll sein, den fraglichen Controller einfach gar nicht mehr zu cachen. Auch das Anlegen eines komplett eigenen Controllers kann sinnvoll sein, der würde im Standard eh nicht gecacht. Daniel

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [26. Juli 2015 um 20:13 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/8 "2015-07-26T20:13:04Z")

</div>

Hallo, danke. Habe das Plugin jetzt zum Laufen gebracht 🙂 War ein hartes Stück Arbeit… [quote]Auch das Anlegen eines komplett eigenen Controllers kann sinnvoll sein, der würde im Standard eh nicht gecacht.[/quote] Wie macht man denn das? Ist das irgendwo beschrieben? LG Kerstin

---

<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:** [27. Juli 2015 um 10:35 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/9 "2015-07-27T10:35:14Z")

</div>

Hi, eine kl. Übersicht zu Controllern findest du hier: [https://developers.shopware.com/develop … ontroller/](https://developers.shopware.com/developers-guide/controller/) Besten Gruß, Daniel

---

<div class="post-metadata">

**Author:** ![Thomas](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/thomas/32/8167_2.png) [@Thomas](https://forum.shopware.com/u/Thomas)\
**Post date:** [27. Juli 2015 um 20:58 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/10 "2015-07-27T20:58:45Z")

</div>

[quote=“Kerstin83”]Habe das Plugin jetzt zum Laufen gebracht 🙂 War ein hartes Stück Arbeit…[/quote] Wo war den der Fehler?

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [27. Juli 2015 um 21:57 UTC](https://forum.shopware.com/t/plugins-auch-im-produktivmodus-http-cache-immer-ausfuhren/29139/11 "2015-07-27T21:57:37Z")

</div>

lol 🙂 🙂 🙂 “War” ist der richtige Tempus. Ist der Beitrag von dir? Und hast du ihn geändert? Ist jetzt nämlich plötzlich richtig. 🙂 Ich dachte schon, ich hätte mich vertan. Aber ich hatte die Seite ausgedruckt… LG Kerstin
