# Aktueller Controller innerhalb eines Widgets

**URL:** <https://forum.shopware.com/t/aktueller-controller-innerhalb-eines-widgets/25289>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [25. Februar 2015 um 11:22 UTC](https://forum.shopware.com/t/aktueller-controller-innerhalb-eines-widgets/25289 "2015-02-25T11:22:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![die\_onleister](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@die\_onleister](https://forum.shopware.com/u/die_onleister)\
**Post date:** [25. Februar 2015 um 11:22 UTC](https://forum.shopware.com/t/aktueller-controller-innerhalb-eines-widgets/25289/1 "2015-02-25T11:22:12Z")

</div>

Hallo zusammen, innerhalb des Templates /frontend/index/checkout\_actions.tpl (Shopware 4.3.2) möchte ich eine Abfrage nach dem aktuellen (Seiten-)Controller einbauen um einen bestimmten Inhalt nur auf der Startseite ausgeben zu können. Da nun dieses Template via {action module=widgets controller=checkout action=info} geladen wird, steht $Controller in diesem Template nicht zur Verfügung bzw würde immer “checkout” auswerfen. Nun würde ich gern ein kleines Plugin schreiben um die Funktion “infoAction()” aus der Widget-Klasse “Shopware\_Controllers\_Widgets\_Checkout” zu hooken. Ich bräuchte mal einen kleinen Denkanstoß, wie ich $controllerName so fülle, dass mir diese Variable z.B. auf der Startseite mit “index” gefüllt ist? Hier meine bisherige Listener-Funktion im Plugin: ` public function afterInfoAction(Enlight\_Hook\_HookArgs $arguments) { $controller = $arguments-\>getSubject(); $view = $controller-\>View(); $controllerName = '???'; $view-\>assign('Controller', $controllerName); } `

---

<div class="post-metadata">

**Author:** ![Patrick\_Stahl](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/patrick_stahl/32/7679_2.png) [@Patrick\_Stahl](https://forum.shopware.com/u/Patrick_Stahl)\
**Post date:** [25. Februar 2015 um 11:41 UTC](https://forum.shopware.com/t/aktueller-controller-innerhalb-eines-widgets/25289/2 "2015-02-25T11:41:25Z")

</div>

Hallo die onleister, wenn ich das Problem korrekt verstanden habe, dürfte dir folgender Ansatz helfen: Du kannst dem Action-Plugin zusätzliche Parameter übergeben, also bspw.: ` {action module=widgets controller=checkout action=info currentController=$currentController} ` Wir haben hier einen zusätzlichen Paramter currentController, der ist selbst benannt und hat keine Funktionalität im Standard. Der Wert $currentController müss natürlich noch befüllt werden, hier könntest du vermutlich auch $Controller verwenden. 🙂 Diesen neuen Parameter findest du nun im Request wieder: ` public function afterInfoAction(Enlight\_Hook\_HookArgs $arguments) { $controller = $arguments-\>getSubject(); $view = $controller-\>View(); $controllerName = $controller-\>Request()-\>getParam('currentController'); $view-\>assign('Controller', $controllerName); } ` Hilft dir das weiter? Gruß, Patrick :shopware:

---

<div class="post-metadata">

**Author:** ![die\_onleister](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@die\_onleister](https://forum.shopware.com/u/die_onleister)\
**Post date:** [25. Februar 2015 um 12:13 UTC](https://forum.shopware.com/t/aktueller-controller-innerhalb-eines-widgets/25289/3 "2015-02-25T12:13:16Z")

</div>

Hallo Patrick, besten Dank für deine schnelle Hilfe. Der Vorschlag passt wunderbar! Falls es noch jemand braucht, hier noch einmal vollständig: Die Einbindung des Widgets erfolgt jetzt so: ` {action module=widgets controller=checkout action=info currentController=$Controller} ` Die Listener-Methode des Plugins sieht so aus: ` public function afterInfoAction(Enlight\_Hook\_HookArgs $arguments) { $controller = $arguments-\>getSubject(); $view = $controller-\>View(); $request = $controller-\>Request(); $controllerName = $request-\>getParam('currentController'); $view-\>assign('Controller', $controllerName); } ` Trotzdem die Frage: Hätte man auch innerhalb der Listener-Methode die Möglichkeit den aktuellen Seiten-Controller abzufragen? Beste Grüße und noch einmal vielen Dank Sebastian

---

<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. Februar 2015 um 12:26 UTC](https://forum.shopware.com/t/aktueller-controller-innerhalb-eines-widgets/25289/4 "2015-02-25T12:26:47Z")

</div>

Nein, da die widgets unabhängig von der aktuellen Seite (dem aktuellen controller) geladen werden und diesen überhaupt nicht kennen. Viele Grüße

---

<div class="post-metadata">

**Author:** ![die\_onleister](https://avatars.discourse-cdn.com/v4/letter/d/a183cd/32.png) [@die\_onleister](https://forum.shopware.com/u/die_onleister)\
**Post date:** [26. Februar 2015 um 08:31 UTC](https://forum.shopware.com/t/aktueller-controller-innerhalb-eines-widgets/25289/5 "2015-02-26T08:31:38Z")

</div>

Ok, vielen Dank euch beiden. Beste Grüße Sebastian
