EventSubscriberInterface Hook abonnieren

Basierend auf diesem Beispiel versuche ich in meinem Plugin den Hook AccountRegisterPageLoadedHook zu abonnieren, um Daten wie hier beschrieben als extension an account/register.html.twig weiterzugeben. Leider kann ich ::after nicht auf dem Hook aufrufen. Was mache ich falsch?

class CustomerEventsSubscriber implements EventSubscriberInterface
{

    public static function getSubscribedEvents()
    {
        return [
          AccountRegisterPageLoadedHook::after => 'onRegisterPageLoaded',
        ];
    }
   // ...

Könntest du die Events nicht verwenden, um dein Vorhaben umzusetzen?

In Shopware 6 habe ich bis jetzt mit Hooks nicht gearbeitet. Würde noch ::class statt ::after versuchen.

Vielen Dank für deine Antwort abdullah. Welches Event kann ich denn benutzen um account/register.html.twig extensions zu übergeben? Ich habe keins gefunden.
::class habe ich auch ausprobiert. Dabei gibt es zwar keinen Fehler aber onRegisterPageLoaded wird auch nicht ausgeführt.

Ich habe gerade den Shopware Code nicht vor mir.

Guck Mal im AccountRegisterPageLoader nach, welche Events geworfen werden. Ich vermute, dass für den PageLoader folgender Event existiert und geworfen wird AccountRegisterPageLoadedEvent.

Den Loader AccountRegisterPageLoader und das Event AccountRegisterPageLoadedEvent gibt es leider nicht.

Du musst dir den richtigen PageLoader raussuchen.

Genau. Und den finde ich/gibt es nicht. Deshalb bin ich auf den Hook gekommen.

Der Hook hat einen Namen. Eventuell wird der Hook über den Namen registriert. Verwenden Mal in deinem Subscriber den Namen.

Was genau meinst du damit? Welchen Namen? Wo verwenden?

AccountRegisterPageLoadedHook::HOOK_NAME

Ich hab’s nicht getestet und den Code mir nicht angeschaut. Aber würde es noch über den Namen versuchen.

Es gibt kein Fehler, aber onRegisterPageLoaded wird leider nicht ausgeführt.

ich habe mir jetzt die Shopware 6 Hooks angeguckt. So wie ich das verstanden habe, stehen diese für die Shopware App Scripts zur Verfügung. Ob die Hooks auch von den Plugins verwendet werden können, kann ich jetzt nicht sagen.

Dein PageLoader wäre der AccountLoginPageLoader, siehe

Der wirft folgenden Event AccountLoginPageLoadedEvent, den du verwenden könntest.

1 „Gefällt mir“

Vielen Dank für deine Bemühungen. Ich versuche das mal.