ThreadAction - getActionName() gibt 'update' zurück

  • Hallo,

    ich möchte gerne eine Aktion ausführen, wenn ein Thema geschlossen oder geöffnet wird. Ich habe einen eventListener registriert auf finalizeAction@wbb\data\thread\ThreadAction.

    Sobald ich in der Listener-Klasse $eventObj->getActionName() ausführe, bekomme ich bei einem geöffneten / geschlossenen Thread nur update als Action. Das stimmt zwar, aber wäre die Action close oder open nicht korrekt?

    Welcher ist der korrekte Weg um close und open zu identifizieren?

    Ich könnte es wie folgt machen und das klappt auch, aber (warum auch immer) wird mein Code 2x ausgeführt. <inherit> steht auf 0. Demnach suche ich einen anderen (besseren) Weg. :)

    Code
        public function onFinalizeAction(ThreadAction $eventObj)
        {
            if (!isset($eventObj->getParameters()['data']['isClosed']) || $eventObj->getParameters()['data']['isClosed'] != 1) return;
            
            // The actions here are executed twice
        }

    Gruß,

    J

  • Hallo Alexander Ebert

    danke für die Info. Das klappt soweit alles wenn ich die action update validiere, aber ich habe folgendes Problem:

    Die E-Mail wird jedes mal 2x gesendet. Kannst Du dir das ggf. erklären? Woran denke ich nicht? Ich habe nun mehrfach geprüft, aber die E-Mail geht immer 2x raus.

    Der eventListener sieht so aus:

    Code
            <eventlistener name="emailAsThreadCloseOpenThread">
                <eventclassname>wbb\data\thread\ThreadAction</eventclassname>
                <eventname>finalizeAction</eventname>
                <listenerclassname>wbb\system\event\listener\EmailAsThreadThreadActionListener</listenerclassname>
                <inherit>0</inherit>
                <environment>user</environment>
            </eventlistener>

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!