fhcom Posted November 9, 2009 Share Posted November 9, 2009 Bonjourma question existe il une solution pour que l'on puisse etre avertie de nouvelle inscription d'un clientrecevoir un mail nous informant de celacar j'ai fait un groupe qui n'a accès qu'a certain produit professionnel que les autres ne doivent pas voir, et c'est seulement en fonction du formulaire d'inscription que c'est comment et les mettre en groupedonc le fait d'être avertie me permet de leurs donner un accès quasi immédiat ou du moin dans les plus court délaismerci de votre réponse Link to comment Share on other sites More sharing options...
ningu Posted November 9, 2009 Share Posted November 9, 2009 Possible par ce moduleUne version V2 devrait sortir d'ici peu, répondant plus précisément à votre besoin Link to comment Share on other sites More sharing options...
fhcom Posted November 9, 2009 Author Share Posted November 9, 2009 merci de cette reponse rapideet il compatible avec 1.2.5merci Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 19, 2009 Share Posted November 19, 2009 Module installé sur version 1.2.5. OK mais petit soucis: Je me suis inscrit comme nouveau client sur ma boutique. Donc en tant que client, j'ai bien reçu le mail d'inscription (module configuré en mode "activation automatique") et en tant qu'admin, j'ai bien reçu le mail pour m'indiquer de la présence d'un nouveau client sur mon site.Mais c'est l'intitulé du mail coté admin qui bug, il me marque "Nouveau Client en attente de validation" alors que son compte est déjà activé lors de son inscription.Étant donné qu'il y a possibilité d'avoir cette intitulé, je n'ai pas oser modifier la source du module.Donc si quelqu'un peux m'aider pour trouver le bug. Merci. Module joint pour évité de le chercher sur l'autre post :-P customerregistrationV2.0.zip Link to comment Share on other sites More sharing options...
ningu Posted November 19, 2009 Share Posted November 19, 2009 Dans le fichier customerregistration.php, fonction sendMail(), il faut ajouter un cas pour le sujet du mailLe code if ($approval->privilege_request) $subject = $this->l('New customer with privilege access waiting for registration'); else $subject = $this->l('New customer waiting for registration'); devient if ($approval->privilege_request) $subject = $this->l('New customer with privilege access waiting for registration'); elseif ($approval->is_approved) $subject = $this->l('New customer has registered'); else $subject = $this->l('New customer waiting for registration'); + un petit passage par les traductionJe n'ai pas testé.En cas de problème, contactez-moi en PM Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 20, 2009 Share Posted November 20, 2009 Je pense que cette fonction interresse plus d'une personne donc je préfère passer ici.C'est OK pour l'intitulé du mail mais dans le mail il me marque ceci :Un nouveau client vient de s'inscrire. Son inscription est en attente de validation. Donc ca dois être le même truc à modifier. Merci encore. Link to comment Share on other sites More sharing options...
ningu Posted November 20, 2009 Share Posted November 20, 2009 Pour le contenu du mail, ca n'est pas la même chose : le contenu du mail est dans le template qui se trouve dans le répertoire mail.Donc 2 options :Avec le module d'origine-- passer par les traductions pour modifier le sujet du mail-- changer le contenu du mail dans le répertoire mailEn modifiant le module-- modif du post précédent pour le sujet-- ajout de nouveaux template mail dans le répertoire mail-- dans sendMail(), faire un test sur $approval->is_approval pour choisir le template (ligne $template =....)Tester le 'is_approval' permet de passer facilement du mode bloqué au mode notification administration, si pas de besoin de basculer, autant changer le contenu du template mail Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 20, 2009 Share Posted November 20, 2009 Pour ma part, pour l'instant je n'utilise pas la validation par admin, donc le compte est validé de suite. Et je n'utilise pas non plus la fonction d'apartenir à un groupe.J'ai pas trop suivie ton explication et j'ai beau chercher, je n'ai pas trouver le texte "son inscription est en attente de validation".Pour le moment ca me gène pas mais si j'utilise le module pour une autre personne, ca ne le fais pas. Donc en attente de ton explication un peu plus compréhensible je laisse tel quel. Link to comment Share on other sites More sharing options...
ningu Posted November 20, 2009 Share Posted November 20, 2009 Pour modifier le contenu même du mail, il faut modifier le contenu des fichiers pending_registration.txt et pending_registration.html dans le répertoire mails/fr.Ou sinon : -- les copier pour créer les fichiers customer_has_register.txt et customer_has_register.html -- modifier leur contenu pour mettre le texte voulu-- dans le fichier customerregistration.php, function sendMail(), remplacer $template='pending_registration' par $template='customer_has_register' Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 20, 2009 Share Posted November 20, 2009 En effet, cette solution remplace le pending_registration par customer_has_register. Mais n'est-il pas possible de RAJOUTER cette option plutôt que de la remplacer ?Je veux dire par là, est-ce que toutes les options sont envisageable ou bien si je met l'enregistrement par admin je ne vais pas rencontrer des bugs dans ce cas là ? Link to comment Share on other sites More sharing options...
ningu Posted November 20, 2009 Share Posted November 20, 2009 Si c'est possible, sans risque de bug :-- dans le répertoire mail, laisser le pending et créer le has_register (txt et html)-- dans la fonction sendMail(), faire un test if ($approval->is_approved)$template = 'customer_has_register';else$template = 'pending_registration'; Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 20, 2009 Share Posted November 20, 2009 J'ai fais la modif avec ceci :if ($approval->is_approved)$template = ‘customer_has_register’;else$template = ‘pending_registration’;Au moment où le nouveau client clique sur "S'enregistrer", j'ai eu droit à un "Erreur de configuration mail". J'ai donc modifier comme ceci :elseif ($approval->is_approved) $subject = $this->l('customer_has_register'); else $subject = $this->l('pending_registration');Ca remarche mais j'ai toujours dans le contenu de mon mail le texte "en attente de validation".J'ai aussi créé le "customer_has_register" en .php et .html mais j'ai l'impression que cela n'a rien apporté. Il dois juste y avoir un bug lors du choix de l'envoi du mail lorsqu'un client est enregistré automatiquement. Link to comment Share on other sites More sharing options...
ningu Posted November 20, 2009 Share Posted November 20, 2009 Dans le répertoire mail, il doit y avoir un fichier .txt et un fichier .html, étant la valeur affectée à $template. Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 20, 2009 Share Posted November 20, 2009 Eh ben je ne vois pas de fichier template.txt ni template.html dans le répertoire "mail" du module. Et d'ailleur, même dans l'autre répertoire "mail" du site :gulp: Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 20, 2009 Share Posted November 20, 2009 Lol, autant pour moi, je viens de comprendre la bourde !!!!! J'ai marquer template dans les textes. Je recommence la modif, lolllll Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 20, 2009 Share Posted November 20, 2009 Non, c'est pas ça. En fait j'avais bien écrit. Bon, suffit pour ce soir, je regarde demain. C'est pas trop grave puisque cela concerne le mail admin et non le client.La nuit porte conseil et demain est un autre jour. Merci encore. Link to comment Share on other sites More sharing options...
ningu Posted November 20, 2009 Share Posted November 20, 2009 Dans le répertoire mails/fr, il doit y avoir 4 fichiers :pending_registration.txt et pending_registration.htmlcustomer_has_registrer.txt et customer_has_registrer.htmlChacun avec le texte adéquate.Ensuite, dans la fonction sendMail(), au lieu d'avoir $template='pending_registration', il faut avoirif ($approval->is_approved)$template='customer_has_register'else$template='pending_registration' Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 21, 2009 Share Posted November 21, 2009 Bon, visiblement il y avais des petites erreurs d'écriture mais maintenant ca marche............mais.........j'ai voulut essayé bien sûr que toutes les fonctions marchent.J'ai donc activé la fonction enregistrement par mail. Le client s'enregistre sur le site, il reçois un mail de confirmation que son compte est ACTIVE :gulp: . De mon coté, je reçois bien un mail me disant qu'une personne s'est inscrit sur le site.Je vais sur mon site admin et j'active le compte du client, il reçois un mail lui disant que son compte est activé et qu'il peux passer commande. Par contre, il lui es rappelé son adresse email mais le mot de passe il dis : "Déjà envoyé".Donc voici la pertie du code qui permet toute cette gestion. Où est l'erreur ? public function sendMail ($mailName, $params) { require_once (dirname(__FILE__).'/ApprovedCustomer.php'); switch ($mailName) { case 'customer_registration_ok': $id_customer = intval($params['id_customer']); if ($id_customer <> 0) { $user = new Customer ($id_customer); Mail::Send(intval(Configuration::get('PS_LANG_DEFAULT')), 'customer_registration_ok', $this->l('Your account is activated'), array('{firstname}' => $user->firstname, '{lastname}' => $user->lastname, '{email}' => $user->email, '{passwd}' => $this->l('Already sent')), $user->email, NULL, strval(Configuration::get('PS_SHOP_EMAIL')), strval(Configuration::get('PS_SHOP_NAME')), NULL, NULL, dirname(__FILE__).'/mails/'); } break; case 'pending_registration': $customer = $params['customer']; $approval = $params['approval']; $template = 'pending_registration'; if ($approval->privilege_request) $subject = $this->l('New customer with privilege access waiting for registration'); /*elseif ($approval->is_approved) $subject = $this->l('New customer has registered'); else $subject = $this->l('New customer waiting for registration');*/ if ($approval->is_approved) $template = 'customer_has_register'; else $template = 'pending_registration'; $templateVars = array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{privilege_request}' => (($approval->privilege_request) ?$this->l('YES') :$this->l('NO') ) ); $dest = split(self::__MAIL_DELIMITOR__, $this->_mails); if (!Mail::Send(intval(Configuration::get('PS_LANG_DEFAULT')), $template, $subject, $templateVars, $dest, NULL, $configuration['PS_SHOP_EMAIL'], $configuration['PS_SHOP_NAME'], NULL, NULL, dirname(__FILE__).'/mails/') ) { //die('Send Mail Failed'); } break; case 'customer_privilege_ok': $id_customer = intval($params['id_customer']); if ($id_customer <> 0) { $user = new Customer ($id_customer); Mail::Send(intval(Configuration::get('PS_LANG_DEFAULT')), 'customer_privilege_ok', $this->l('Privilege access granted'), array('{firstname}' => $user->firstname, '{lastname}' => $user->lastname, '{email}' => $user->email, '{passwd}' => $this->l('Already sent')), $user->email, NULL, strval(Configuration::get('PS_SHOP_EMAIL')), strval(Configuration::get('PS_SHOP_NAME')), NULL, NULL, dirname(__FILE__).'/mails/'); Link to comment Share on other sites More sharing options...
ningu Posted November 21, 2009 Share Posted November 21, 2009 Je ne comprends pas ce qui ne te convient pas:Lors de son inscription, qu'il soit bloqué ou non par mon module, le client reçoit le mail standard de Presta lui donnant les infos de son compte, en particulier son mot de passe.Donc lorsque côté admin le module le débloque, pas la peine de renvoyer le mot de passe (c'est d'ailleurs pas possible puisqu'on ne peut pas le décripter) Link to comment Share on other sites More sharing options...
ningu Posted November 21, 2009 Share Posted November 21, 2009 Il faut enlever les commentaires pour : /*elseif ($approval->is_approved) $subject = $this->l('New customer has registered'); else $subject = $this->l('New customer waiting for registration');*/ Link to comment Share on other sites More sharing options...
La Matrice Du 67 Posted November 21, 2009 Share Posted November 21, 2009 Ok, pas de soucis pour le rappel du mot de passe. Au pire, il fais une demande de rappel. Et pour les commentaires, c'est voulut, j'ai laisser la partie non modifier au cas où je dois revenir en arrière.Sinon il y aura 2 fois la même comme elseif....... Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 8, 2012 Share Posted January 8, 2012 je relance ce post très interessant, j'ai installé lemodule customer registration, et j'aimerais le modifier un peu. je souhaiterais n'être prévenue par mail que lorsqu'un client s'inscrit comme pro. et aussi je souhaiterais remplacer le champ privilège par un numéro de siret. ca impliquerai de faire la demande non pas à partir d'un code mais à partir du fait que le champ soit rempli ou non. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now