Vectorus Posted March 15, 2013 Share Posted March 15, 2013 (edited) Bonjour, Je souhaiterais mettre en place un email de confirmation d'inscription différent pour les professionnels et les particulier, en fait, il faudrait ajouter quelques lignes pour les professionnels les informant qu'ils peuvent bénéficier de tarifs préférentiels avec un code de réduction. Il me faudrait donc deux modèle d'email de confirmation d'inscription, un pour les professionnel et l'autre pour les particuliers. Pour résumer, je voudrais donc créer une variable lors de l'inscription d'un client du type : - si le client a renseigner le champ *société* alors envoyer email inscription pro - sinon envoyer email inscription simple Je n'ai pas réussi à trouver de sujet similaire sur le forum et je n'ai pas trouvé de module non plus. Ma question est donc: Est-il possible d'automatiser l'envoi d'email d'inscription différent selon les renseignements transmis lors de l'inscription ? Et si oui, par quel moyen y parvenir ? Je vous remercie par avance Edited March 15, 2013 by Vectorus (see edit history) Link to comment Share on other sites More sharing options...
Whoami Posted March 15, 2013 Share Posted March 15, 2013 Bonjour, Pour répondre, il nous faudrait déjà savoir quelle version de Prestashop tu utilises. Sinon oui c'est possible, et même ce n'est pas très compliqué si tu es un minimum développeur Link to comment Share on other sites More sharing options...
Vectorus Posted March 15, 2013 Author Share Posted March 15, 2013 Actuellement je tourne sous PrestaShop 1.4.6.2, mais je pense faire une mise à jour prochainement (si j'ai pas trop de problème) avant de mettre ça en place. Je me qualifierai plus de bidouilleur que de développeur mais ça me fait pas peur de toucher au code Link to comment Share on other sites More sharing options...
Whoami Posted March 15, 2013 Share Posted March 15, 2013 (edited) Ok pour la version, au passage je te déconseille la mise à jour 1.4 > 1.5 sans pro habitué si tu ne veux pas t'arracher les cheveux et avoir de mauvaises surprises Aller je tente un petit tuto rapide comme ça me vient. ------- Préparation du terrain : - Dupliquer "account.html" et "account.txt" en "account_pro.html" et "account_pro.txt" dans l'ensemble des dossiers /mail/<lang> - Changer légèrement le contenu des nouveaux fichiers pour faire les tests avant de faire ton template définitif. Préparation du controller : - Dans override/controllers, faire l'override du AuthController (http://doc.prestasho...rge+et+override) et de sa méthode preProcess() - Localiser : if (!$customer->is_guest) { if (!Mail::Send((int)self::$cookie->id_lang, 'account', Mail::l('Welcome!', (int)self::$cookie->id_lang), array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname)) $this->errors[] = Tools::displayError('Cannot send email'); } Transformer en : if (!$customer->is_guest) { if(Tools::getValue('company') !== false){ if (!Mail::Send((int)self::$cookie->id_lang, 'account_pro', Mail::l('Welcome!', (int)self::$cookie->id_lang), array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname)) $this->errors[] = Tools::displayError('Cannot send email'); } else{ if (!Mail::Send((int)self::$cookie->id_lang, 'account', Mail::l('Welcome!', (int)self::$cookie->id_lang), array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname)) $this->errors[] = Tools::displayError('Cannot send email'); } } - Tester une inscription avec la société remplie et sans la société remplie pour voir le mail reçu. Edited March 15, 2013 by Whoami (see edit history) Link to comment Share on other sites More sharing options...
Vectorus Posted March 15, 2013 Author Share Posted March 15, 2013 (edited) Super, merci beaucoup c'est parfait Je vais pas pouvoir mettre ça en place dans l’immédiat, je vais mettre résolu au titre quand même, si j'ai un problème lors de la mise en place je reviendrai et je viendrai vous tenir informer quoi qu'il en soit. Pour la mise à jour c'est dommage, c'est vraiment si compliqué ? J'avais justement conseillé à l'entreprise ou je travail de faire la mise à jour vers la 1.5 qui propose des options intéressantes. Edited March 15, 2013 by Vectorus (see edit history) Link to comment Share on other sites More sharing options...
Whoami Posted March 18, 2013 Share Posted March 18, 2013 Pas de problème pour le retour, j'éditerai au besoin. Personnellement, je n'ai pas encore tenté la mise à jour 1.4.9/1.4.10 > 1.5.x à cause de la sur-customisation & complexité des boutiques sur lesquelles je travaille, je me fie simplement aux nombreux retours qui règnent sur le forum 1.5. Ce ne sont pas des cas génériques et je pense que certains ont réussi la mise à jour sans aucun problème, mais elle me semble trop aléatoire pour la faire sans aucun risque... Je la tenterai sur une installation vierge un de ces jours tiens Plus la customisation est grande, même si elle est propre et dans les normes Prestashop, plus ce risque est grand (ajouter à cela les modules tiers incompatibles si tu en as, des templates personnalisés à éventuellement revoir, etc). A toi de voir si tu veux la tenter, ce n'est que mon avis, mais prends tes précautions pour parer à un tout soucis (par exemple fait en une avant sur un clone de ta boutique en environnement de dev par exemple)... Malgré tout, la 1.5 apporte de nombreuses fonctionnalités comme tu le dis et vaut le détour 1 Link to comment Share on other sites More sharing options...
Vectorus Posted March 18, 2013 Author Share Posted March 18, 2013 D'accord, merci beaucoup pour tout ces conseils. Je vais prendre toutes les précautions possible pour limiter les risques lors de la mise à jour, la boutique n'est pas beaucoup customisée pour le moment et elle a peu de modules, avec un peu de chance ça ce déroulera sans accroc mais je ferai d'abord l'essai sur une copie Et si jamais ça ne veut pas fonctionner, je resterai en 1.4. Encore merci. Link to comment Share on other sites More sharing options...
Mounkeila Posted December 3, 2013 Share Posted December 3, 2013 Bonjour à tous, je suis en PS 1.5.6.0[/size] et j'ai tenté de suivre ce tuto pour envoyer un mail différent en fonction du pays. Mais malgré mes nombreux test je reçois toujour le mail account (même en remplaçant account par account Guyane pour les deux résultat du "if") : J'ai posé les accountguyane html et txt dans : boutique.com/themes/Themename/mails/fr J'ai édité le fichier suivant: boutique.com/controllers/front/AuthController.php avec : if (!$customer->is_guest) { if ($address->id_country == Country::getByIso('GA'){ if (!Mail::Send((int)self::$cookie->id_lang, 'accountguyane', Mail::l('Welcome!', (int)self::$cookie->id_lang), array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname)) $this->errors[] = Tools::displayError('Cannot send email'); } else{ if (!Mail::Send((int)self::$cookie->id_lang, 'account', Mail::l('Welcome!', (int)self::$cookie->id_lang), array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname)) $this->errors[] = Tools::displayError('Cannot send email'); } } Please help me! je ne peut pas ouvrir ma boutique en direction de la Guyane en raison de ces petits soucis ;( Link to comment Share on other sites More sharing options...
Mounkeila Posted December 4, 2013 Share Posted December 4, 2013 Solution avec le code fonctionnel à remplacer dans les dernières ligne du fichier boutique.com/controllers/front/AuthController.php, les text en bleu peut servir de repère: /** * sendConfirmationMail * @param Customer $customer * @return bool */ protected function sendConfirmationMail(Customer $customer) { if (!Configuration::get('PS_CUSTOMER_CREATION_EMAIL')) return true; if ($AddressClient->id_country == '241') return Mail::Send( $this->context->language->id, 'accountguyane', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); else return Mail::Send( $this->context->language->id, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); } } 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