# ESI Controller

**URL:** <https://forum.shopware.com/t/esi-controller/42280>\
**Category:** Programmierung\
**Created:** [18. Dezember 2016 um 10:39 UTC](https://forum.shopware.com/t/esi-controller/42280 "2016-12-18T10:39:08Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![karei](https://avatars.discourse-cdn.com/v4/letter/k/858c86/32.png) [@karei](https://forum.shopware.com/u/karei)\
**Post date:** [18. Dezember 2016 um 10:39 UTC](https://forum.shopware.com/t/esi-controller/42280/1 "2016-12-18T10:39:08Z")

</div>

Hallo,

ich habe einen ESI Controller, den ich im frontend mit einem “on action tag” aufrufen lasse:

```
{action controller=my_controller action=index}

```

Das ganze funktioniert auf der Arikel Detailseite ohne Probleme (frontend/detail/data.tpl)

Jetzt wollte ich das gleiche auf der Listing Seite (frontend/listing/product-box/product-price.tpl) machen, jedoch kann da der Controller angeblich nicht gefunden werden:

```
Uncaught exception 'Enlight_Controller_Exception' with message 'Controller "my_controller" not found'

```

Hat jemand eine Idee warum das an dieser Stelle nicht funktioniert?

VG

---

<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:** [18. Dezember 2016 um 11:56 UTC](https://forum.shopware.com/t/esi-controller/42280/2 "2016-12-18T11:56:02Z")

</div>

Wie registrierst Du denn den ESI/Widget Controller?&nbsp;

Ohne Quellcode Beispiele wird es schwierig die Ursache zu finden 😉

---

<div class="post-metadata">

**Author:** ![karei](https://avatars.discourse-cdn.com/v4/letter/k/858c86/32.png) [@karei](https://forum.shopware.com/u/karei)\
**Post date:** [18. Dezember 2016 um 12:36 UTC](https://forum.shopware.com/t/esi-controller/42280/3 "2016-12-18T12:36:03Z")

</div>

Bezogen auf die Angaben hier ([https://developers.shopware.com/developers-guide/plugin-system/#controller-auto-registration](https://developers.shopware.com/developers-guide/plugin-system/#controller-auto-registration)) braucht man das ja nicht, oder sehe ich das falsch? An der anderen Stelle und auch wenn ich per Hand die URL des Controllers aufrufe funktioniert es ja…

---

<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:** [18. Dezember 2016 um 12:49 UTC](https://forum.shopware.com/t/esi-controller/42280/4 "2016-12-18T12:49:18Z")

</div>

Versuche den Controller mal in einem anderen Block einzubinden als den price Block.

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![karei](https://avatars.discourse-cdn.com/v4/letter/k/858c86/32.png) [@karei](https://forum.shopware.com/u/karei)\
**Post date:** [18. Dezember 2016 um 13:05 UTC](https://forum.shopware.com/t/esi-controller/42280/5 "2016-12-18T13:05:12Z")

</div>

Das Problem scheint der HTTP Cache zu sein, wenn ich den ausschalte, funktioniert es…

---

<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:** [20. Dezember 2016 um 07:47 UTC](https://forum.shopware.com/t/esi-controller/42280/6 "2016-12-20T07:47:54Z")

</div>

Hast Du, wie beschrieben, den Controller außerhalb eines prices blockes mal eingebunden? Der HTTP-Cache setzt da imo NoCache Flags bei den Preisen. Ggf. haben diese damit etwas zu tun.

---

<div class="post-metadata">

**Author:** ![karei](https://avatars.discourse-cdn.com/v4/letter/k/858c86/32.png) [@karei](https://forum.shopware.com/u/karei)\
**Post date:** [20. Dezember 2016 um 08:58 UTC](https://forum.shopware.com/t/esi-controller/42280/7 "2016-12-20T08:58:45Z")

</div>

Hab ich auch schon getestet, klappt auch nicht

---

<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:** [20. Dezember 2016 um 09:01 UTC](https://forum.shopware.com/t/esi-controller/42280/8 "2016-12-20T09:01:44Z")

</div>

Dann poste mal bitte ein minimal Beispiel deines Plugins - dann schaue ich mir das gerne an.

---

<div class="post-metadata">

**Author:** ![karei](https://avatars.discourse-cdn.com/v4/letter/k/858c86/32.png) [@karei](https://forum.shopware.com/u/karei)\
**Post date:** [20. Dezember 2016 um 09:37 UTC](https://forum.shopware.com/t/esi-controller/42280/9 "2016-12-20T09:37:04Z")

</div>

Hier der Frontend Controller (custom/plugins/MyController/Controllers/Frontend/MyController.php)

```
Front()->Plugins()->ViewRenderer()->setNoRender(true);

        if ((empty(Shopware()->Session()->sUserGroup))||(Shopware()->Session()->sUserGroup == "EK"))
        {
	        if (Shopware()->Shop()->getId() == 1)
	        	echo "1";
	        else
	        	echo "2";
	    }
    }
}
?>

```

Eingebunden habe ich ihn im Template über den Tag

```
{action controller=my_controller action=index}

```

Was ja auf der Detail-Seite auch ohne Probleme funktioniert.

---

<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:** [20. Dezember 2016 um 09:42 UTC](https://forum.shopware.com/t/esi-controller/42280/10 "2016-12-20T09:42:35Z")

</div>

Versuche mal das hier:

Shopware\_Controllers\_Frontend\_MyController&nbsp;

durch dies:

Shopware\_Controllers\_Widget\_MyController

zu ersetzen. Bitte auch die notwendigen Verzeichnisse anpassen.

---

<div class="post-metadata">

**Author:** ![karei](https://avatars.discourse-cdn.com/v4/letter/k/858c86/32.png) [@karei](https://forum.shopware.com/u/karei)\
**Post date:** [20. Dezember 2016 um 09:56 UTC](https://forum.shopware.com/t/esi-controller/42280/11 "2016-12-20T09:56:24Z")

</div>

Fast richtig, es muss Widgets sein, aber dann funktioniert das ganze endlich 🙂  
&nbsp;

tausend Dank!&nbsp;
