# Kundengruppe mittels Plugin auslesen

**URL:** https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241
**Category:** Shopware 3.5
**Tags:** programming
**Created:** [21. März 2014 um 16:48 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241 "2014-03-21T16:48:27Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![jogol](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jogol](https://forum.shopware.com/u/jogol)
#### Post date: [21. März 2014 um 16:48 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/1 "2014-03-21T16:48:27Z")

</div>

Hallo, kann mir bitte jemand bei diesem Unterfangen helfen? Ich möchte auf Shopseiten die Möglichkeit haben, die Kundengruppe mittels der Variable {$sCustomerUserGroup} abzugfragen. Hier mein Versuch, es tut sich leider gar nichts: `class Shopware\_Plugins\_Frontend\_SwagGetUserGroup\_Bootstrap extends Shopware\_Components\_Plugin\_Bootstrap { public function install() { $this-\>subscribeEvent('Enlight\_Controller\_Action\_PostDispatch','onPostDispatch'); return true; } public function onPostDispatchFrontend(Enlight\_Event\_EventArgs $args) { $request = $args-\>getSubject()-\>Request(); $response = $args-\>getSubject()-\>Response(); $customerId = Shopware()-\>Session()-\>sUserId; $CustomerUserGroup = $this-\>getCustomerUserGroup($customerId); $args-\>getSubject()-\>View()-\>assign("sCustomerUserGroup",self::$CustomerUserGroup); } function getCustomerUserGroup($customerId) { $sql = "SELECT customergroup from s\_user WHERE id = $customerId"; $customerGroup = Shopware()-\>Db()-\>fetchRow(); $customerGroup = $customerGroup['customergroup']; return $customerGroup; } }`

---

<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: [21. März 2014 um 16:55 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/2 "2014-03-21T16:55:52Z")

</div>

Hallo jogol, die Ursache liegt schon direkt in der Install-Methode. Zunächst erstellst du ein Event: `public function install() { $this-\>subscribeEvent('Enlight\_Controller\_Action\_PostDispatch','onPostDispatch'); return true; }` Dort benutzt du das globale PostDispatch-Event und willst dann die Methode onPostDispatch aufrufen. Anschließend erstellst du jedoch eine Methode mit dem Namen onPostDispatchFrontend. Siehst du das Problem? Du kannst nun also entweder den Namen in der Install-Methode anpassen: `public function install() { $this-\>subscribeEvent('Enlight\_Controller\_Action\_PostDispatch','onPostDispatchFrontend'); return true; }` oder aber den Namen der eigentlichen Methode selbst. Übrigens: Du solltest deine Funktion “getCustomerUserGroup” wiefolgt anpassen: `private function getCustomerUserGroup($customerId) { $sql = "SELECT customergroup FROM s\_user WHERE id = ?"; $customerGroup = Shopware()-\>Db()-\>fetchOne($sql, array($customerId)); return $customerGroup; }` Die Methode hätte nach deinem Code nie funktionert, da du $sql nie weiter verwendet hast. 🙂 Außerdem benutzt du in deinem Code “self::$CustomerUserGroup”, das wird auch nicht funktionieren. Lass einfach das “self::” weg. 😉 Gruß, Patrick :shopware:

---

<div class="post-metadata">

### Author: ![kube](https://avatars.discourse-cdn.com/v4/letter/k/b19c9b/32.png) [@kube](https://forum.shopware.com/u/kube)
#### Post date: [21. März 2014 um 17:18 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/3 "2014-03-21T17:18:19Z")

</div>

Die Variable ist schon in der Session gesetzt, einfach so abfragen: `$sCustomerUserGroup = Shopware()-\>Session()-\>sUserGroup;`

---

<div class="post-metadata">

### Author: ![jogol](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jogol](https://forum.shopware.com/u/jogol)
#### Post date: [22. März 2014 um 11:22 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/4 "2014-03-22T11:22:56Z")

</div>

Danke für die wertvollen Inputs. Ich hab jetzt folgende 2 Varianten probiert. Bei beiden bekomme ich die Kundengruppe nicht im Frontend auf einer Shopseite mittels {$sCustomerUserGroup} angezeigt. Und im Backend kommt eine Fehlermeldung. Variante 1: `class Shopware\_Plugins\_Frontend\_SwagGetUserGroup\_Bootstrap extends Shopware\_Components\_Plugin\_Bootstrap { public function install() { $this-\>subscribeEvent('Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Index','onPostDispatchFrontend'); return true; } public function onPostDispatchFrontend(Enlight\_Event\_EventArgs $args) { $controller = $args-\>getSubject(); $request = $controller-\>Request(); $response = $controller-\>Response(); $view = $controller-\>View(); if(!$request-\>isDispatched() || $response-\>isException() || !$view-\>hasTemplate()) { return; } $CustomerUserGroup = Shopware()-\>Session()-\>sUserGroup; $args-\>getSubject()-\>View()-\>assign("sCustomerUserGroup",$CustomerUserGroup); } }` Variante 2: `class Shopware\_Plugins\_Frontend\_SwagGetUserGroup\_Bootstrap extends Shopware\_Components\_Plugin\_Bootstrap { public function install() { $this-\>subscribeEvent('Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Index','onPostDispatchFrontend'); return true; } public function onPostDispatchFrontend(Enlight\_Event\_EventArgs $args) { $controller = $args-\>getSubject(); $request = $controller-\>Request(); $response = $controller-\>Response(); $view = $controller-\>View(); if(!$request-\>isDispatched() || $response-\>isException() || !$view-\>hasTemplate()) { return; } $customerId = Shopware()-\>Session()-\>sUserId; $CustomerUserGroup = $this-\>getCustomerUserGroup($customerId); $args-\>getSubject()-\>View()-\>assign("sCustomerUserGroup",$CustomerUserGroup); } private function getCustomerUserGroup($customerId) { $sql = "SELECT customergroup FROM s\_user WHERE id = ?"; $customerGroup = Shopware()-\>Db()-\>fetchOne($sql, array($customerId)); return $customerGroup; } }` Fehler im Backend: `Resource "shop" not found failure in Shopware/Components/DependencyInjection/Container.php on line 192` `#7 Shopware/Plugins/Community/Frontend/SwagGetUserGroup/Bootstrap.php(31): Shopware-\>Session() #8 Enlight/Event/Handler/Plugin.php(149): Shopware\_Plugins\_Frontend\_SwagGetUserGroup\_Bootstrap-\>onPostDispatchFrontend(Object(Enlight\_Controller\_ActionEventArgs))` Könntet ihr bitte so lieb sein und nochmal drüberschauen? Danke!

---

<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: [22. März 2014 um 13:56 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/5 "2014-03-22T13:56:23Z")

</div>

Um die Fehlermeldung im Backend weg zu bekommen nimmst Du am besten folgenden Event Enlight\_Controller\_Action\_PostDispatchSecure\_Frontend anstatt Enlight\_Controller\_Action\_PostDispatch. Was sagt den das Debug Plugin/Firebug wenn Du das Plugin aktiviert hast? Existiert die Variable überhaupt?

---

<div class="post-metadata">

### Author: ![Creatixx](https://avatars.discourse-cdn.com/v4/letter/c/c67d28/32.png) [@Creatixx](https://forum.shopware.com/u/Creatixx)
#### Post date: [22. März 2014 um 16:39 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/6 "2014-03-22T16:39:56Z")

</div>

Hi, warum “Frontend\_Index” `&nbsp;&nbsp;&nbsp; $this-\>subscribeEvent('Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Index','onPostDispatchFrontend'); `

---

<div class="post-metadata">

### Author: ![jogol](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jogol](https://forum.shopware.com/u/jogol)
#### Post date: [22. März 2014 um 21:18 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/7 "2014-03-22T21:18:15Z")

</div>

Danke für eure Inputs. Hab´s nun hinbekommen!

---

<div class="post-metadata">

### Author: ![Bastler123](https://avatars.discourse-cdn.com/v4/letter/b/ecb155/32.png) [@Bastler123](https://forum.shopware.com/u/Bastler123)
#### Post date: [20. Juli 2015 um 10:27 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/8 "2015-07-20T10:27:15Z")

</div>

Für alle die es schnell und einfach haben wollen, hab ich mal ein kleines Plugin in den Store gestellt, welche die Kundengruppenvariable im Template zur Verfügung stellt: [Zum Plugin](http://store.shopware.com/detail/index/sArticle/162318)

---

<div class="post-metadata">

### Author: ![konsi](https://avatars.discourse-cdn.com/v4/letter/k/eada6e/32.png) [@konsi](https://forum.shopware.com/u/konsi)
#### Post date: [8. Juni 2016 um 11:30 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/9 "2016-06-08T11:30:58Z")

</div>

> [@jogol schrieb:](https://forum.shopware.com/profile/10048/jogol "jogol")
> 
> Danke für eure Inputs. Hab´s nun hinbekommen!

Hi, könntest du deine finale Lösung zur Verfügung stellen?

---

<div class="post-metadata">

### Author: ![SikoSolar](https://avatars.discourse-cdn.com/v4/letter/s/2acd7d/32.png) [@SikoSolar](https://forum.shopware.com/u/SikoSolar)
#### Post date: [25. August 2016 um 11:23 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/10 "2016-08-25T11:23:44Z")

</div>

Die Kundengruppe als Variable

{$sUserData.additional.user.customergroup}

&nbsp;

Mit freundlichen Grüßen&nbsp;

Jakob

---

<div class="post-metadata">

### Author: ![kanuma](https://avatars.discourse-cdn.com/v4/letter/k/ce7236/32.png) [@kanuma](https://forum.shopware.com/u/kanuma)
#### Post date: [27. Februar 2018 um 16:04 UTC](https://forum.shopware.com/t/kundengruppe-mittels-plugin-auslesen/19241/11 "2018-02-27T16:04:59Z")

</div>

Und einmal hier als kostenloses Plugin für alle:

> **[marcmanusch/PaulCheckGroup](https://github.com/marcmanusch/PaulCheckGroup)**
>
> Contribute to marcmanusch/PaulCheckGroup development by creating an account on GitHub.
