Thierryh Posted December 16, 2010 Share Posted December 16, 2010 BonjourY a t-il un moyen d'être informé automatiquement par email qu'un client vient de demander le retour d'un produit ?A ma connaissance le module Mail Alert ne permet pas cela .MerciThierry Link to comment Share on other sites More sharing options...
blinblin Posted January 16, 2011 Share Posted January 16, 2011 Bonjour,Je ne sais pas si tu as trouvé une réponse, mais je me suis posé la même question, et en cherchant un peu sur le forum je n'ai pas trouvé de réponse... Pourtant c'est une demande régulière depuis longtemps, apparemment. Et ça me semble indispensable d'être prévenu illico d'une demande de retour !Du coup plutôt que de continuer à chercher je l'ai ajouté en reprenant l'envoi de message juste en dessous, "Ajouter un message".J'utilise prestashop 1.3.4.0J'ai ajouté dans order-follow.php, à la racine du site, à la ligne 38, c'est à dire juste après Tools::redirect('order-follow.php?errorQuantity'); et juste avant $orderReturn->state = 1; le code suivant : $message = new Message(); $message->id_customer = intval($cookie->id_customer); $message->message = $orderReturn->question; $message->id_order = intval($id_order); $message->private = false; $message->add(); if (!Configuration::get('PS_MAIL_EMAIL_MESSAGE')) $to = strval(Configuration::get('PS_SHOP_EMAIL')); else { $to = new Contact(intval(Configuration::get('PS_MAIL_EMAIL_MESSAGE'))); $to = strval($to->email); } $toName = strval(Configuration::get('PS_SHOP_NAME')); $customer = new Customer(intval($cookie->id_customer)); if (Validate::isLoadedObject($customer)) Mail::Send(intval($cookie->id_lang), 'order_return_asked', 'Message from a customer', array( '{lastname}' => $customer->lastname, '{firstname}' => $customer->firstname, '{id_order}' => intval($message->id_order), '{message}' => $message->message), $to, $toName, $customer->email, $customer->firstname.' '.$customer->lastname); Ce code est similaire, donc, à celui qui se trouve dans order-detail.phppuis j'ai créé deux nouveaux modèles d'email, order_return_asked.txt et order_return_asked.html, (si vous les appelez autrement attention à remplacer 'order_return_asked' dans le code lors de l'appel de la méthode Send) que j'ai placé dans /mails/fr, inspirés de order_merchant_comment.txt et .html, mais qui dit en substance Vous avez reçu une demande de retour produit concernant la commande n°Voilà, en espérant que ça aidera quiconque ferait la même recherche que moi :-)Sans doute que cette fonctionnalité est ajoutée dans 1.4, je ne suis pas allé voir, mais il y a du monde qui va continuer à tourner sous 1.3, non... Link to comment Share on other sites More sharing options...
Thierryh Posted January 16, 2011 Author Share Posted January 16, 2011 Bonjour Blinblinet un grand merci pour votre réponse.Vous indiquez qu'il faut ajouter votre code dans order-follow.php, à la ligne 38.Pour être bien sur du numéro de ligne, pouvez-vous confirmer que c'est après la ligne Tools::redirect('order-follow.php?errorQuantity'); et avant la ligne suivante $orderReturn->state = 1; ?Confirmez-vous ?Concernant PS 1.4, j'ai regardé le build de décembre, et plus exactement /controllers/OrderFollowController, et je n'ai nullement trouvé d'instruction qui notifiait le commercant par email.MerciThierry Link to comment Share on other sites More sharing options...
Yann - Prestaplugins Posted January 16, 2011 Share Posted January 16, 2011 Cette fonctionnalité sera très prochainement intégrée dans mon module SMS, pour ceux que ca intéressent.Donc ca enverra évidemment un SMS, et pas un mail ;-) Link to comment Share on other sites More sharing options...
blinblin Posted January 17, 2011 Share Posted January 17, 2011 Oui Thierry, je confirme que c'est bien entre ces deux lignes-là.J'ai édité mon message en conséquence, afin qu'on puisse l'utiliser sans hésitation, merci pour la remarque.Je vais aller voir ton module, Patanok, je ne connaissais pas. Très bonne idée d'y ajouter la notification de retour produit, c'est franchement utile... Link to comment Share on other sites More sharing options...
Matttisss Posted March 15, 2011 Share Posted March 15, 2011 Merci bcp pr cette contribution !! Fonctionnement OK :-) Link to comment Share on other sites More sharing options...
amerigeau Posted April 19, 2011 Share Posted April 19, 2011 Bonjour à tous,Je viens de faire la manipulation à savoir : intégration du code cité ci-dessus dans OrderFollowController.php puis création des deux mails.Le hic, ça ne fonctionne pas - le mail qui reçoit l'avertissement doit être celui paramétré dans le module alertes email ?- est-ce que quelqu'un a déjà testé cela sur la version 1.4 ?Merci d'avance Link to comment Share on other sites More sharing options...
Utile PC Posted May 8, 2011 Share Posted May 8, 2011 Bonjour à tousJ'ai moi aussi la version 1.4 et je ne sais pas comment faire.Quelqu'un a une idée ?Merci d'avance Link to comment Share on other sites More sharing options...
Eolia Posted July 6, 2011 Share Posted July 6, 2011 je viens de faire la manip sur presta 1.4. Cela fonctionne, je reçois biens le mail mais le n° de commande affiche toujours 0. Bon d'accord on a le nom du client et son mail mais si quelqu'un de la team a une idée ça m'arrangerai...Pour info je n'ai pas pris le code cité plus haut, mais j'ai pris celui de la version 1.4 de order-detail.php copié dans OrderFollowController.php à partir de la ligne 68: $message = new Message(); $message->id_customer = (int)(self::$cookie->id_customer); $message->message = $orderReturn->question; $message->id_order = (int)($idOrder); $message->private = false; $message->add(); if (!Configuration::get('PS_MAIL_EMAIL_MESSAGE')) $to = strval(Configuration::get('PS_SHOP_EMAIL')); else { $to = new Contact((int)(Configuration::get('PS_MAIL_EMAIL_MESSAGE'))); $to = strval($to->email); } $toName = strval(Configuration::get('PS_SHOP_NAME')); $customer = new Customer((int)(self::$cookie->id_customer)); if (Validate::isLoadedObject($customer)) Mail::Send((int)(self::$cookie->id_lang), 'order_customer_return', Mail::l('Demande de retour produit'), array( '{lastname}' => $customer->lastname, '{firstname}' => $customer->firstname, '{email}' => $customer->email, '{id_order}' => (int)($message->id_order), '{message}' => $message->message), $to, $toName, $customer->email, $customer->firstname.' '.$customer->lastname); et un exemple de mail en html (a éditer également en txt), avec l'{id_order} qui ne marche pas: > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Message d'un client pour une demande de retour de {shop_name}</title> </head> <body> </pre> <table style="font-family:Verdana, sans-serif;font-size:11px;color:#374953;width:550px;"> Bonjour, Message de {firstname} {lastname} ({email}) Vous avez reçu une demande de retour concernant sa commande n°{id_order} pour la raison suivante: {message} {shop_name}™ </table> <br></body><br></ht Link to comment Share on other sites More sharing options...
florent33 Posted May 21, 2012 Share Posted May 21, 2012 je viens de faire la manip sur presta 1.4. Cela fonctionne, je reçois biens le mail mais le n° de commande affiche toujours 0. Bon d'accord on a le nom du client et son mail mais si quelqu'un de la team a une idée ça m'arrangerai... Pour info je n'ai pas pris le code cité plus haut, mais j'ai pris celui de la version 1.4 de order-detail.php copié dans OrderFollowController.php à partir de la ligne 68: $message = new Message(); $message->id_customer = (int)(self::$cookie->id_customer); $message->message = $orderReturn->question; $message->id_order = (int)($idOrder); $message->private = false; $message->add(); if (!Configuration::get('PS_MAIL_EMAIL_MESSAGE')) $to = strval(Configuration::get('PS_SHOP_EMAIL')); else { $to = new Contact((int)(Configuration::get('PS_MAIL_EMAIL_MESSAGE'))); $to = strval($to->email); } $toName = strval(Configuration::get('PS_SHOP_NAME')); $customer = new Customer((int)(self::$cookie->id_customer)); if (Validate::isLoadedObject($customer)) Mail::Send((int)(self::$cookie->id_lang), 'order_customer_return', Mail::l('Demande de retour produit'), array( '{lastname}' => $customer->lastname, '{firstname}' => $customer->firstname, '{email}' => $customer->email, '{id_order}' => (int)($message->id_order), '{message}' => $message->message), $to, $toName, $customer->email, $customer->firstname.' '.$customer->lastname); et un exemple de mail en html (a éditer également en txt), avec l'{id_order} qui ne marche pas: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Message d'un client pour une demande de retour de {shop_name}</title> </head> <body> [url="{shop_url}"][img={shop_logo}][/url] Bonjour, Message de {firstname} {lastname} ({email}) [b]Vous avez reçu une demande de retour concernant sa commande n°{id_order} pour la raison suivante:[/b] {message} [url="{shop_url}"]{shop_name}™ [/url] </body> </html> Bonjour à tous, J'ai exactement le même problème ... Si quelqu'un a trouvé la solution, je suis preneur Merci d'avance. Link to comment Share on other sites More sharing options...
florent33 Posted May 22, 2012 Share Posted May 22, 2012 C'est bon j'ai trouvé ... Il suffit de remplacer : $message->id_order = (int)($idOrder); par $message->id_order = $orderReturn->id_order; Link to comment Share on other sites More sharing options...
shopme Posted May 29, 2012 Share Posted May 29, 2012 (edited) super great merci !! Petit résumé et nettoyage ... sur 1.4.7.3 je l'ai mis ligne 64 apres Tools::redirect('order-follow.php?errorQuantity'); comme l'indiquait blinblin j'ai corrigé avec l'aide isouport et ca donne : $message = new Message(); $message->id_customer = (int)(self::$cookie->id_customer); $message->message = $orderReturn->question; $message->id_order = $orderReturn->id_order; $message->private = false; $message->add(); if (!Configuration::get('PS_MAIL_EMAIL_MESSAGE')) $to = strval(Configuration::get('PS_SHOP_EMAIL')); else { $to = new Contact((int)(Configuration::get('PS_MAIL_EMAIL_MESSAGE'))); $to = strval($to->email); } $toName = strval(Configuration::get('PS_SHOP_NAME')); $customer = new Customer((int)(self::$cookie->id_customer)); if (Validate::isLoadedObject($customer)) Mail::Send((int)(self::$cookie->id_lang), 'order_customer_return', Mail::l('Demande de retour produit'), array( '{lastname}' => $customer->lastname, '{firstname}' => $customer->firstname, '{email}' => $customer->email, '{id_order}' => (int)($message->id_order), '{message}' => $message->message), $to, $toName, $customer->email, $customer->firstname.' '.$customer->lastname); + creer fichiers: order_customer_return.html order_customer_return.text super post ! merci à tous Edited May 29, 2012 by shopme (see edit history) 1 Link to comment Share on other sites More sharing options...
jp77 Posted June 27, 2012 Share Posted June 27, 2012 Bonjour a tous Merci pour cette super solution cordialement Link to comment Share on other sites More sharing options...
Arômes & Gourmandiz Posted August 19, 2012 Share Posted August 19, 2012 (edited) Merci, ça marche super. Pour les débutants comme moi, sachez que le fichier à modifier n'est plus order-follow.php mais OrderFollowController.php Voilà et encore merci! Edited August 19, 2012 by Arômes & Gourmandiz (see edit history) Link to comment Share on other sites More sharing options...
Portos6300 Posted February 28, 2013 Share Posted February 28, 2013 Génial sa fonctionne toujours en 1.4.9 Link to comment Share on other sites More sharing options...
Thor007 Posted July 29, 2013 Share Posted July 29, 2013 En 1.5, est-ce que quelqu'un aurait la solution ? Link to comment Share on other sites More sharing options...
eMizZ Posted August 14, 2013 Share Posted August 14, 2013 Pour PRESTASHOP 1.5.x Modifiez le fichier : /controllers/front/OrderFollowController.php Ligne 41 : if (Tools::isSubmit('submitReturnMerchandise')) {..... Ajouter à l'intérieur du if l'envoi d'un email : if (Tools::isSubmit('submitReturnMerchandise')) { mail('[email protected]' , 'NOUVEAU RETOUR PRODUIT' , 'NOUVEAU RETOUR PRODUIT'); Link to comment Share on other sites More sharing options...
kouik-e Posted September 1, 2013 Share Posted September 1, 2013 bonjour, je n'y arrive pas, pourtant je suis les modif proposées dans le topic, je ne reçois pas le mail. Version 1.4.9.0 merci pour votre aide Link to comment Share on other sites More sharing options...
morphinux Posted November 4, 2013 Share Posted November 4, 2013 Pour PRESTASHOP 1.5.x Modifiez le fichier : /controllers/front/OrderFollowController.php Ligne 41 : if (Tools::isSubmit('submitReturnMerchandise')) {..... Ajouter à l'intérieur du if l'envoi d'un email : if (Tools::isSubmit('submitReturnMerchandise')) { mail('[email protected]' , 'NOUVEAU RETOUR PRODUIT' , 'NOUVEAU RETOUR PRODUIT'); Bonjour, Je relance le topic. La modification dans le fichier /controllers/front/OrderFollowController.php fonctionne bien mais le nom de l'expéditeur ne correspond pas au nom de ma boutique. Il me renvoie le nom de ma base ? Y-a t'il un moyen de lui spécifier le nom de ma boutique ? Peut-être existe t'il un module spécifique maintenant ? Merci d'avance Nicolas 1 Link to comment Share on other sites More sharing options...
Thor007 Posted November 4, 2013 Share Posted November 4, 2013 Moi j'ai fait développer un module par un prestataire qui tourne sur ce forum, il faut voir avec lui peut être... Link to comment Share on other sites More sharing options...
Ether Création Posted January 16, 2014 Share Posted January 16, 2014 Bonjour, Nous avons mis sur l'addons un module qui permet en cas de retour produit de recevoir un email avec le contenu du retour. http://addons.prestashop.com/fr/transport-logistique-livraison-modules-prestashop/9493-email-de-retour-produit.htmlAinsi le webmarchand est prévenu et peut donc agir en conséquence.Cordialement, Arthur Link to comment Share on other sites More sharing options...
makinero Posted July 30, 2014 Share Posted July 30, 2014 Acheter un module à 30€HT pour une fonctionnalité de base, je trouve cela moyen. Link to comment Share on other sites More sharing options...
makinero Posted July 30, 2014 Share Posted July 30, 2014 Pour PRESTASHOP 1.5.x Modifiez le fichier : /controllers/front/OrderFollowController.php Ligne 41 : if (Tools::isSubmit('submitReturnMerchandise')) {..... Ajouter à l'intérieur du if l'envoi d'un email : if (Tools::isSubmit('submitReturnMerchandise')) { mail('[email protected]' , 'NOUVEAU RETOUR PRODUIT' , 'NOUVEAU RETOUR PRODUIT'); Merci pour le tuyo. Ça marche pareil sous Prestashop 1.6. J'ai juste un peu customisé pour ajouter l'adresse d'expéditeur et chercher dynamiquement une adresse e-mail d'un contact SAV : $contact = new Contact(1, 1); // on cherche le contact SAV ayant l'id 1, langue id 1 (FR) $subject = "Nouveau retour produit"; $headers = 'From: ' . $contact->email . "\r\n" . 'Reply-To: ' . $contact->email . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($contact->email, $subject , 'Bonjour. Nouveau retour produit. Rendez-vous dans le back-office pour de plus amples informations.',$headers); Je n'ai besoin que du français et je n'ai qu'un contact SAV donc j'ai tout mis en dur. J'ai essayé en utilisant la classe Mail de Prestashop mais ça n'a pas marché. Link to comment Share on other sites More sharing options...
pyferret Posted September 17, 2014 Share Posted September 17, 2014 Bonjour, Etant sur 1.5 de Prestashop, je me suis mis à modifier mon code comme indiqué ci-dessus. Toutefois, après les modifications effectuées, rien ne se passe. Je me demande si j'ai bien effectué la manip' ou si il manque quelque chose dans mon paramétrage ? - Faut-il activer le module "Alertes mails" sur le BO Prestashop ? - Si j'ai bien compris, j'ai juste mon mail à renseigner dans le code ? Voici le bout de mon code : public function postProcess() { if (Tools::isSubmit('submitReturnMerchandise')) { mail('[email protected]' , 'NOUVEAU RETOUR PRODUIT' , 'NOUVEAU RETOUR PRODUIT'); $customizationQtyInput = Tools::getValue('customization_qty_input'); if (!$id_order = (int)(Tools::getValue('id_order'))) Tools::redirect('index.php?controller=history'); if (!$order_qte_input = Tools::getValue('order_qte_input')) Tools::redirect('index.php?controller=order-follow&errorDetail1'); if (!$customizationQtyInput && $customizationIds = Tools::getValue('customization_ids')) Tools::redirect('index.php?controller=order-follow&errorDetail1'); if (!$customizationIds && !$ids_order_detail = Tools::getValue('ids_order_detail')) Tools::redirect('index.php?controller=order-follow&errorDetail2'); Link to comment Share on other sites More sharing options...
LiliB. Posted November 27, 2014 Share Posted November 27, 2014 Début du topic : 2010 et encore des questions en 2014... C'est quand même dingue que Presta n'ait pas mis ça en place nativement. Effectivement à 30 € le petit module pour ceux comme moi qui n'ont pas du tout envie de mettre les mains dans le code car d'une version à l'autre ça change, ça peut rapporter. Imaginons 1000 nouveaux petits e-commerçants par mois qui achètent le module à 30 € HT, ça fait quand même 30 000 € HT dans la poche. Heu, j'imagine que le petit module développé a largement été rentabilisé. Mais comme je suis une petite grouillotte qui comprend rien au code et qui n'a pas envie de s'embêter à essayer de comprendre (oui, chacun son métier), je vais l'acheter. Mais attention : si il bug, je crierai au scandale, voire à l'arnaque. Autre point par rapport à ces bons retours, si je veux éviter d'envoyer un mail au client pour l'avertir de chaque changement de statut, eh bien pas possible en version 1.5.6.2... alors que cela est paramétrable très facilement dans le BO pour les e-mails de commande... Link to comment Share on other sites More sharing options...
Le Sultan Posted November 27, 2014 Share Posted November 27, 2014 Début du topic : 2010 et encore des questions en 2014... C'est quand même dingue que Presta n'ait pas mis ça en place nativement. Effectivement à 30 € le petit module pour ceux comme moi qui n'ont pas du tout envie de mettre les mains dans le code car d'une version à l'autre ça change, ça peut rapporter. Imaginons 1000 nouveaux petits e-commerçants par mois qui achètent le module à 30 € HT, ça fait quand même 30 000 € HT dans la poche. Heu, j'imagine que le petit module développé a largement été rentabilisé. Mais comme je suis une petite grouillotte qui comprend rien au code et qui n'a pas envie de s'embêter à essayer de comprendre (oui, chacun son métier), je vais l'acheter. Mais attention : si il bug, je crierai au scandale, voire à l'arnaque. Autre point par rapport à ces bons retours, si je veux éviter d'envoyer un mail au client pour l'avertir de chaque changement de statut, eh bien pas possible en version 1.5.6.2... alors que cela est paramétrable très facilement dans le BO pour les e-mails de commande... Bonjour cela ne fonctionne pas sur 1.6 ou alors j'ai mal compris la manoeuvre. Link to comment Share on other sites More sharing options...
OLIVIER793 Posted April 11, 2015 Share Posted April 11, 2015 En effet, ça ne marche toujours pas en 1.6... Link to comment Share on other sites More sharing options...
ChDUP Posted April 11, 2015 Share Posted April 11, 2015 mon module le permet, sur 1.6 https://www.prestashop.com/forums/topic/391737-returnalert-envoi-dune-notification-par-mail-lors-dune-demande-de-retour/ Link to comment Share on other sites More sharing options...
panthere31 Posted July 24, 2015 Share Posted July 24, 2015 (edited) Bonjour, Je suis en 1.6.0.11 et j'ai ajouté ceci dans OrderFollowController.php dans controllers/front/ $contact = new Contact(1, 1); // on cherche le contact SAV ayant l'id 1, langue id 1 (FR) $subject = "Nouveau retour produit"; $headers = 'From: ' . $contact->email . "\r\n" . 'Reply-To: ' . $contact->email . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($contact->email, $subject , 'Bonjour. Nouveau retour produit. Rendez-vous dans le back-office pour de plus amples informations.',$headers); juste avant Hook::exec('actionOrderReturn', array('orderReturn' => $orderReturn)); Tools::redirect('index.php?controller=order-follow'); Ce n'est pas l'idéal absolu puisque ca sautera en cas de mise à jour mais au moins pour le moment on est prévenu d'un éventuel retour Si ca peut aider.... Stéphane Edited July 24, 2015 by panthere31 (see edit history) Link to comment Share on other sites More sharing options...
Lynda Posted August 9, 2020 Share Posted August 9, 2020 Bonjour, Y-a-t-il un moyen d'être notifié des demandes de retour sur Prestashop 1.7 ? Merci. 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