Développer avec RBS Change : Gestion des events (dispatchEvent)

  • 81561.1

    28/10/2013 17:09


    djoo_9
    Rang : Adepte
    Bonjour,

    j'aurais voulu savoir comment on utilise au mieux la gestion des events dans RBS.

    Par exemple,
      
    f_event_EventManager::dispatchEvent(self::USER_LOGIN_EVENT,
    $this, array('user' => $user));


    quels code doit-on avoir pour avoir une fonction qui s'exécute à ce dispatch d'event ?

    J'ai fait des recherchers sur ce site, le wiki, google, mais visiblement rien ...

    Merci d'avance
    Jonathan

    Édité par djoo_9 28/10/2013 17:10

  • 81561.2 en réponse à 81561.1 écrit par djoo_9

    05/11/2013 14:40


    Jean-Michel
    Titre : Community Manager
    Rang : Expert
    Bonjour djoo_9,

    Le fragment de code indiqué permet d'envoyer l'événement nommé par la constante self::USER_LOGIN_EVENT, pour $this avec le tableau de paramètres contenant la clé 'user'.

    La classe listener se situant dans un module, doit être déclarée dans le fichier "modules/<nomDuModule>/config/listeners.xml" (pour voir un exemple cf modules/order/config/listeners).
    La classe du listener doit impérativement contenir une méthode "public" nommée selon la nomenclature : on<nomEvenement> et prenant en paramètres, l'objet émetteur de l'événement et le tableau de paramètre.

    La classe de listener pointée dans le fichier en exemple se situe dans "modules/order/lib/listeners/UserLoginListener.class.php". Le but de ce listener est de persister le panier en base pour l'utilisateur et le merger avec un panier déjà en cours à sa connexion.

    Pour une meilleure réponse, pensez à indiquer la version sur laquelle vous rencontrez des difficultés, ainsi que son type (CMS ou eCommerce core).
    Pour tout problème d'installation indiquez le nom de l'hébergeur et s'il s'agit d'un serveur mutualisé ou dédié.
 
Merci de prendre connaissance et de respecter les règles des forums.
 
1442 membres
Aucun membre connecté