Udt FEU NMS

De Cms Made Simple France
Aller à : navigation, rechercher
Sys Info.png
Ce tutoriel est une adaptation traduite de l'article rédigé par Ted Kulp visible dans sa version originale ici.

Cette UDT va nous permettre d'enregistrer automatiquement un utilisateur FEU du site à une liste de diffusion NMS par l'intermédiaire de SelfRegistration.

Sys Warn.png
Niveau avancé
Cet article s'adresse à des utilisateurs ayant déjà une bonne connaissance de la mise en place de FEU,SelfRegistration et NMS

Lors de la création d'un site, j'ai eu besoin de mettre en place une option qui consiste à donner la possibilité à ceux qui s'enregistrent sur le site (SelfRegistration) de s'inscrire à la newsletter (NMS). J'ai donc paramétré FrontEndUsers, SelfRegistration et NMS d'une manière standard. La seule chose à noter est que j'ai créé une case à cocher nommée mailing_list attribuée au groupe FEU.

Ensuite j'ai créé dans NMS une liste dont j'ai noté l'id : dans mon cas 1 (retenir pour la suite). L'étape suivante à été de créer une UDT. Je l'ai nommée arbitrairement feu_to_nms et j'ai utilisé le code suivant:

$modops = cmsms()->GetModuleOperations();
$feu = $modops->get_module_instance('FrontEndUsers');
$nms = $modops->get_module_instance('NMS');
 //récupération du USER
 $feu_user = $feu->GetUserInfo($params['id']);
 //existe-t-il vraiment?
 if ($feu_user)
 {
     //a-t-il coché la checkbox?
     if ($feu->GetUserPropertyFull('mailing_list', $params['id']))
     {
         //Ajouter le user à NMS
         //array(1) -- Représent l'ID de la liste créée dans NMS.  Ajuster à votre cas.
         $nms->AddUser($feu->GetUserPropertyFull('email', $params['id']), array(1), $feu_user[1]['username'],0,1);
 
     }
 }

Le code est à adapter à votre configuration. Par exemple, FEU est paramétré avec l'adresse mail comme identifiant, donc si tel n'est pas votre cas, vous devrez modifier le premier paramètre de la fonction AddUser. De même, j'utilise le champ 'pseudo' pour créer mon utilisateur NMS et la case à cocher 'mailing_list'. Ma liste de diffusion possède l'identifiant 1. Tout ceci est à prendre en considération pour la personnalisation de votre UDT.

Enfin, dernière étape, je suis allé dans la gestion des événements et j'ai trouvé 'onUserRegistered'. Je l'ai édité et assigné ma balise 'feu_to_nms' disponible dans la liste déroulante des UDT.

Maintenant, chaque fois que quelqu'un s'inscrit et clique sur cette case à cocher, l'événement se déclenche, ce code est exécuté et l'utilisateur est ajouté à la liste de diffusion. Facile comme bonjour (c'est Ted qui le dit!).

--Jissey 3 juin 2011 à 12:14 (CEST)