# Events - Listener (CustomerRegisterEvent)

**URL:** https://forum.shopware.com/t/events-listener-customerregisterevent/65115
**Category:** Programmierung
**Created:** [2. März 2020 um 09:39 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115 "2020-03-02T09:39:02Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)
#### Post date: [2. März 2020 um 09:39 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/1 "2020-03-02T09:39:02Z")

</div>

Hallo Shopware Community,

zwar bin ich dabei ein EventListener Plugin zu schreiben. So weit klappt alles auch und bin jetzt dabei nach und nach die Events zu suchen die ich brauche.

Gibt es einen debug mode um zu sehen welches Event getriggered wird? z.B. suche ich gerade ein Event was getriggered wird wenn man seine Bestellungen /account/order aufruft.

```
vendor/shopware/storefront/Page/Account/Order/AccountOrderPageLoader.php

$this->eventDispatcher->dispatch(
   new AccountOrderPageLoadedEvent($page, $salesChannelContext, $request)
);

```

Die Events die ich laut Documentation abfangen kann sind solche&nbsp;ORDER\_LINE\_ITEM\_LOADED\_EVENT

Daher meine Frage wie ich an solche Events (wenn überhaupt vorhanden) dran komme.

Regards

---

<div class="post-metadata">

### Author: ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)
#### Post date: [3. März 2020 um 16:04 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/2 "2020-03-03T16:04:50Z")

</div>

Ich mach mal ein doppelpost, da ich nun eine ähnliche Frage habe. Erster Post bleibt erstmal Baustelle 1.

Mit dem Event

```
 MAPPING\_CUSTOMER\_PROFILE\_SAVE

```

Bekomme ich zwar den $context-\>getContext() durch das MappingEvent. Ist es dennoch möglich irgendwie an die uuid zu kommen? Ich weiß, wenn das Event getriggered wird, wird zusätzlich auch&nbsp;

```
 CUSTOMER\_WRITTEN\_EVENT

```

getriggerd, wo dann die uuid drin steht. Hätte dann aber kein Bezug mehr, dass es geupdated worden ist.

&nbsp;

Grüße

---

<div class="post-metadata">

### Author: ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)
#### Post date: [6. März 2020 um 15:48 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/3 "2020-03-06T15:48:00Z")

</div>

Hat sich bis jetzt niemand so richtig mit den Thema Events befasst?

---

<div class="post-metadata">

### Author: ![reisueber](https://avatars.discourse-cdn.com/v4/letter/r/5daacb/32.png) [@reisueber](https://forum.shopware.com/u/reisueber)
#### Post date: [9. März 2020 um 07:36 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/4 "2020-03-09T07:36:14Z")

</div>

Das Thema Events beschäftigt mich gerade auch. Ich bin mir jetzt nicht sicher, ob wir an ähnlichen Themen arbeiten.

Ich musste zumindest das ProductListing ausbauen und habe mich dafür über einen Subscriber auf das ProductListingResultEvent gehookt. Die Klasse dafür liegt unter: platform/src/Core/Content/Product/Events/ProductListingResultEvent.php

Ich würde dein Event irgendwo hier vermuten:&nbsp;src/Core/Checkout/Customer/Event

Ich hoffe, ich konnte dir etwas weiterhelfen.

---

<div class="post-metadata">

### Author: ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)
#### Post date: [9. März 2020 um 08:19 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/5 "2020-03-09T08:19:52Z")

</div>

> [@reisueber schrieb:](https://forum.shopware.com/profile/33899/reisueber "reisueber")
> 
> Das Thema Events beschäftigt mich gerade auch. Ich bin mir jetzt nicht sicher, ob wir an ähnlichen Themen arbeiten.
> 
> Ich musste zumindest das ProductListing ausbauen und habe mich dafür über einen Subscriber auf das ProductListingResultEvent gehookt. Die Klasse dafür liegt unter: platform/src/Core/Content/Product/Events/ProductListingResultEvent.php
> 
> Ich würde dein Event irgendwo hier vermuten:&nbsp;src/Core/Checkout/Customer/Event
> 
> Ich hoffe, ich konnte dir etwas weiterhelfen.

Immerhin mal eine Antwort 😉 Naja die Customer Events (vendor/shopware/core/Checkout/Customer/CustomerEvents.php) die alle vorhanden sind, triggern nicht das richtige was ich bräuchte.&nbsp;Wie oben schon steht, wird zwar&nbsp;AccountOrderPageLoadedEvent aufgerufen, aber ohne const (extra function call) um dort zu hooken.

&nbsp;

Was mich auch wundert, dass Event&nbsp;

```
 vendor/shopware/core/Checkout/Customer/Event/CustomerRegisterEvent.php

```

wird irgendwie nicht ausgeführt. In der&nbsp;getSubscribedEvents Funktion habe ich Testweiße die selben&nbsp;Events dort drin.

```
CustomerRegisterEvent::class => 'onCustomerRegisterEvent',
CustomerEvents::CUSTOMER_REGISTER_EVENT => 'onCustomerRegisterEvent',

```

Obwohl in der AccountRegistrationService.php wenn kein DoubleOptInRegistration() vorhanden ist, er das event-\>dispatch, wird es nicht abgefangen. Im RegisterController bei der register() Funktion (vendor/shopware/storefront/Controller/RegisterController.php) ist auch kein event-\>dispatch drin.

---

<div class="post-metadata">

### Author: ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)
#### Post date: [9. März 2020 um 10:00 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/6 "2020-03-09T10:00:46Z")

</div>

Ich glaube ich habe es gelöst bekommen. In der **services.xml** &nbsp;war nur&nbsp;

```
;

```

aber ich glaube

hat einfach nur gefehlt. Jetzt kommen zumindest die CustomerRegister / Login Events an.

---

<div class="post-metadata">

### Author: ![Introser](https://avatars.discourse-cdn.com/v4/letter/i/d6d6ee/32.png) [@Introser](https://forum.shopware.com/u/Introser)
#### Post date: [20. März 2020 um 17:24 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/7 "2020-03-20T17:24:50Z")

</div>

> [@CallMeAlex schrieb:](https://forum.shopware.com/profile/33735/CallMeAlex "CallMeAlex")
> 
> Ich glaube ich habe es gelöst bekommen. In der **services.xml** &nbsp;war nur&nbsp;
> 
> ;
> 
> aber ich glaube
> 
> hat einfach nur gefehlt. Jetzt kommen zumindest die CustomerRegister / Login Events an.

Was genau hast du gemacht? Meine services.xml sieht so aus:&nbsp;

Meine Subscriber Klasse so:&nbsp;

```
use Shopware\Core\Checkout\Customer\CustomerEvents;
use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityLoadedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class MySubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents(): array
    {
        return[
             CustomerEvents:: CUSTOMER_REGISTER_EVENT => 'customerRegistered',
			 CustomerRegisterEvent::class => 'customerRegistered',
        ];
    }

    public function customerRegistered(EntityLoadedEvent $event)
    {
        // Do something
        // E.g. work with the loaded entities: $event->getEntities()
        XXXXXXXXX
    }
}

```

Die customerRegistered Funktion wird aber nicht ausgeführt. Bin mir bei der service.xml aber nicht ganz sicher. Hatte dort die Tags schon im einem Service, anstatt 2 services mit je einem Tag, aber gleiches Resultat. Funktion wird nicht ausgeführt

---

<div class="post-metadata">

### Author: ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)
#### Post date: [23. März 2020 um 08:15 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/8 "2020-03-23T08:15:07Z")

</div>

@Introser‍ meine services.xml schaut so aus:

Sofern dir das irgendwie weiter hilft.

&nbsp;

---

<div class="post-metadata">

### Author: ![troxs](https://avatars.discourse-cdn.com/v4/letter/t/e95f7d/32.png) [@troxs](https://forum.shopware.com/u/troxs)
#### Post date: [24. März 2020 um 12:31 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/9 "2020-03-24T12:31:20Z")

</div>

@Introser‍, bist du hier irgendwie weitergekommen? Denn ich habe das gleiche Problem.

Ich verwende bereits an verschiedenen Orten EventListeners und es funktioniert einwandfrei. Allerdings benötige ich nun einen Listener für&nbsp;CartEvents::CHECKOUT\_ORDER\_PLACED und in diesem Fall wird der Listener nicht ausgeführt. Ich habe keine Ahnung wieso.

mein service.xml sieht wie folgt aus:

```
 &nbsp;
```

---

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [24. März 2020 um 13:37 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/10 "2020-03-24T13:37:45Z")

</div>

im `APP_ENV=dev`–Mode habt ihr doch eine Toolbar, in der ihr euch alle Events, Datenbankabfragen etc pp ansehen könnt.

---

<div class="post-metadata">

### Author: ![troxs](https://avatars.discourse-cdn.com/v4/letter/t/e95f7d/32.png) [@troxs](https://forum.shopware.com/u/troxs)
#### Post date: [24. März 2020 um 14:31 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/11 "2020-03-24T14:31:45Z")

</div>

In der Toolbar sehe ich nur die Called Listeners (und da ist meiner nicht dabei), nicht aber die Dispatched Events, oder such ich am falschen Ort im Symfony Profiler?

Wie gesagt erscheint mein Listener, bzw. Subscriber nicht in der Liste der “Called Listeners”, ein die() direkt vor dem Event Dispatch im Shopware Code greift aber…

---

<div class="post-metadata">

### Author: ![troxs](https://avatars.discourse-cdn.com/v4/letter/t/e95f7d/32.png) [@troxs](https://forum.shopware.com/u/troxs)
#### Post date: [24. März 2020 um 14:45 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/12 "2020-03-24T14:45:59Z")

</div>

Ich habe es geschafft.  
In meinem service.xml habe ich den Listener nun so eingetragen

Nun greift der Listener. Vielleicht hilft dies den anderen ja auch weiter…

---

<div class="post-metadata">

### Author: ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)
#### Post date: [25. März 2020 um 13:22 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/13 "2020-03-25T13:22:21Z")

</div>

> [@troxs schrieb:](https://forum.shopware.com/profile/33909/troxs "troxs")
> 
> @Introser‍, bist du hier irgendwie weitergekommen? Denn ich habe das gleiche Problem.
> 
> Ich verwende bereits an verschiedenen Orten EventListeners und es funktioniert einwandfrei. Allerdings benötige ich nun einen Listener für&nbsp;CartEvents::CHECKOUT\_ORDER\_PLACED und in diesem Fall wird der Listener nicht ausgeführt. Ich habe keine Ahnung wieso.
> 
> mein service.xml sieht wie folgt aus:
> 
> &nbsp;

Hättest auch das Event nehmen können

```
CheckoutOrderPlacedEvent::class => 'onCheckoutOrderPlacedEvent',

```

Damit arbeite ich & es klappt einwandfrei. Oder dieses:

```
OrderEvents::ORDER_WRITTEN_EVENT => 'onOrderEventsWritten',

```

das normale WRITTEN\_EVENT was sogut wie überall ist.

---

<div class="post-metadata">

### Author: ![frontendbaer](https://avatars.discourse-cdn.com/v4/letter/f/b4bc9f/32.png) [@frontendbaer](https://forum.shopware.com/u/frontendbaer)
#### Post date: [4. Juli 2022 um 10:01 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/14 "2022-07-04T10:01:56Z")

</div>

Hi @troxs,

kannst du deine XML bitte nochmal senden? Leider sieht man die nicht mehr, auch bei mir will er das CUSTOMER\_REGISTER\_EVENT einfach nicht abfeuern.

Danke und Gruß

---

<div class="post-metadata">

### Author: ![frontendbaer](https://avatars.discourse-cdn.com/v4/letter/f/b4bc9f/32.png) [@frontendbaer](https://forum.shopware.com/u/frontendbaer)
#### Post date: [5. Juli 2022 um 11:39 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/15 "2022-07-05T11:39:06Z")

</div>

Hi @CallMeAlex,

kannst du bitte nochmal schreiben was genau du gemacht hast?

Danke und Gruß

---

<div class="post-metadata">

### Author: ![frontendbaer](https://avatars.discourse-cdn.com/v4/letter/f/b4bc9f/32.png) [@frontendbaer](https://forum.shopware.com/u/frontendbaer)
#### Post date: [5. Juli 2022 um 17:54 UTC](https://forum.shopware.com/t/events-listener-customerregisterevent/65115/16 "2022-07-05T17:54:29Z")

</div>

Falls noch jemand das Problem haben sollte, so funktionierts:

```auto
public static function getSubscribedEvents(): array
    {

        return [
            CustomerRegisterEvent::class => 'onRegister'
        ];
    }

public function onRegister(CustomerRegisterEvent $event)
    {
        $this->logger->info("Customer register", ["id" => $event->getCustomerId()]);
    }

```

```auto
<?xml version="1.0" ?>

<container xmlns="http://symfony.com/schema/dic/services"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

    <services>
        <service id="RegisterChangeClass\Listener\RegisterListener">
            <argument type="service" id="logger" />
            <argument type="service" id="customer.repository" />
            <tag name="kernel.event_subscriber" />
        </service>
        
    </services>
</container>

```
