Eigene Flash-Message anzeigen

Nach dem sich der Benutzer authentifiziert hat entferne ich unter bestimmten Bedingungen Artikel aus dem Warenkorb und ich würde nun gerne den Benutzer darüber informieren das sich

a.) sein Warenkorb geändert hat und
b.) warum er sich geändert hat.

Wenn ich das Verhalten der Flash-Messages korrekt verstanden habe, publiziert Shopware einfach eine Variable (sBasketInfo) im View und die Anzeige wird über das Templating geregelt.

Nun habe ich mich auf das _Event Shopware_Modules_Admin_Login_Successful _registriert, dort aber keinen Zugriff auf eine Controller Instanz. Gibt es einen anderen Weg oder habe ich etwas übersehen?

// partially pseudocode!
public function onLoginSuccessful(Enlight_Event_EventArgs $args)
{
    $userID = $args->get('user')['id'];  

    if (conditon) {
        Shopware()->Modules()->Basket()->sDeleteArticle($this->getBasketID($articleID));

        // notify user here!

    }
}

 

Ich habe es jetzt über eine Flag in der Session gelöst und mich auf den Event Enlight_Controller_Action_PreDispatch_Frontend_Checkout registriert. Trotzdem wäre ein globaler Message-Bus keine schlechte Sache.

private function notifyUser($args)
{
    if (!$Shopware()->Session()->hideNotification) {
        $subject = $args->get('subject');
        $subject->View()->assign([
            'sBasketInfo' => "My Notification..."
        ]);
        Shopware()->Session()->hideNotification = true;
    }
}