# Welches Event beim Aufruf der Startseite.

**URL:** <https://forum.shopware.com/t/welches-event-beim-aufruf-der-startseite/49580>\
**Category:** Programmierung\
**Created:** [20. November 2017 um 10:25 UTC](https://forum.shopware.com/t/welches-event-beim-aufruf-der-startseite/49580 "2017-11-20T10:25:20Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![schlueter550v](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@schlueter550v](https://forum.shopware.com/u/schlueter550v)\
**Post date:** [20. November 2017 um 10:25 UTC](https://forum.shopware.com/t/welches-event-beim-aufruf-der-startseite/49580/1 "2017-11-20T10:25:20Z")

</div>

Hallo Community,

ich möchte Menüpunkte in der main-Navigation, abhängig von der aktuellen Kundengruppe anzeigen lassen. Zunächst habe ich folgendes:

```
public function install()
{
	$this->subscribeEvent(
            'Enlight_Controller_Action_PostDispatch_Frontend',
            'postDispatch'
        );

	return true;
}
public function postDispatch(Enlight_Event_EventArgs $args)
{
$view->assign("kundengruppe",Shopware()->System()->sUSERGROUPDATA['groupkey']);
}

```

und im tpl.:

```
{extends file="parent:frontend/index/main-navigation.tpl"}

{block name='frontend_index_navigation_categories_top_after'}
	
		   
			  {$kundengruppe} Test
		   
		
{/block}

```

Jetzt kommt das mysteriöße. Wenn ich mir einen Artikel ansehe, zeigt er oben “Kundengruppe Test” an.  
Gehe ich zur Startseite, zeigt er nur “Test” an. Wieso wird bei der Startseite die Kundengruppe nicht übergeben?

Habt Ihr Ideen?

Mit freundlichen Grüßen  
schlueter550v

---

<div class="post-metadata">

**Author:** ![schlueter550v](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@schlueter550v](https://forum.shopware.com/u/schlueter550v)\
**Post date:** [20. November 2017 um 11:58 UTC](https://forum.shopware.com/t/welches-event-beim-aufruf-der-startseite/49580/2 "2017-11-20T11:58:55Z")

</div>

Also durch Debugging, weiß ich jetzt, dass die Events gewünscht feuern.  
Nur wenn ich auf die Startseite klicke, wird die Variable kundengruppe leer gelasen.  
Gibt es andere möglichkeiten die aktuelle Kundengruppe abzurufen?

---

<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:** [20. November 2017 um 12:15 UTC](https://forum.shopware.com/t/welches-event-beim-aufruf-der-startseite/49580/3 "2017-11-20T12:15:46Z")

</div>

Hi,

über den ShopContext kommst du daran:

```
        /** @var ShopContextInterface $context */
        $context = $this->get('shopware_storefront.context_service')->getShopContext();
        $group = $context->getCurrentCustomerGroup();

```

Besten Gruß

Daniel

---

<div class="post-metadata">

**Author:** ![schlueter550v](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@schlueter550v](https://forum.shopware.com/u/schlueter550v)\
**Post date:** [20. November 2017 um 12:45 UTC](https://forum.shopware.com/t/welches-event-beim-aufruf-der-startseite/49580/4 "2017-11-20T12:45:45Z")

</div>

Muss ich das $this noch definieren? Weil der obere Code liefert immer ein leeres Resultat.

---

<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:** [20. November 2017 um 13:23 UTC](https://forum.shopware.com/t/welches-event-beim-aufruf-der-startseite/49580/5 "2017-11-20T13:23:28Z")

</div>

Hi,

achso, das war auf den Controller-Kontext bezogen. Aus der Plugin-Boostrap heraus sollte „$this-\>container-\>get“ gehen.

Besten Gruß

Daniel

---

<div class="post-metadata">

**Author:** ![schlueter550v](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@schlueter550v](https://forum.shopware.com/u/schlueter550v)\
**Post date:** [20. November 2017 um 14:30 UTC](https://forum.shopware.com/t/welches-event-beim-aufruf-der-startseite/49580/6 "2017-11-20T14:30:14Z")

</div>

Und welchen container muss ich benutzen? Weil wenn ich nur das container reinschreibe kommt

```
core.ERROR: Enlight_Exception: Property "container" not found failure

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![schlueter550v](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@schlueter550v](https://forum.shopware.com/u/schlueter550v)\
**Post date:** [21. November 2017 um 07:03 UTC](https://forum.shopware.com/t/welches-event-beim-aufruf-der-startseite/49580/7 "2017-11-21T07:03:49Z")

</div>

Ich hab es jetzt mal so gelöst:  
&nbsp;

```
$context = Shopware()->Container()->get('shopware_storefront.context_service')->getShopContext();
$group = json_encode($context->getCurrentCustomerGroup(), true);
$groupname = json_decode($group, true);
$view->assign("kundengruppe",$groupname[key]);

```

ich weiß nicht ob es sich besser lösen lässt, aber es funktioniert damit.
