DEVCOM Posted May 24, 2013 Share Posted May 24, 2013 Bonjour, Je souhaiterais supprimer l'alerte email envoyée au client lors de la modification d'une commande depuis le backoffice. Le e-commerce en question est dédié uniquement aux professionnels qui passent commande via le site et téléphone plusieurs fois dans la journée pour faire modifier leur commande directement. Pour X produits ajoutés ou modifiés, X emails envoyés au client. Il n'est pas question de modifier le mode de fonctionnement de l'entreprise, il ne reste donc qu'a fouiller dans les fichiers de l'administration, et jusque la sans succès pour supprimer cette alerte lors de l'ajout d'un produit ou modifications diverses. Merci d'avance ! Link to comment Share on other sites More sharing options...
DEVCOM Posted June 4, 2013 Author Share Posted June 4, 2013 Donc personne n'a jamais eut cette folle envie en se levant un matin ? Link to comment Share on other sites More sharing options...
dklfdlfkj Posted January 4, 2014 Share Posted January 4, 2014 (edited) Donc personne n'a jamais eut cette folle envie en se levant un matin ? Salut DEVCOM, Personnellement je n'ai jamais eu cette "folle envie" en me levant le matin. La solution rapide : dans /controllers/admin/AdminOrdersController.php il faut rajouter le code return false; ( ligne 1700 et des brouettes) comme ci-dessous: public function sendChangedNotification(Order $order = null) { return false; if (is_null($order)) $order = new Order(Tools::getValue('id_order')); L'inconvénient c'est que s'il on met à jour sa version de prestashop, cette modification sera effacée. La solution moins rapide mais propre: Faire un override, donc: dans override/controllers/admin il faut créer un fichier AdminOrdersController.php et y mettre le code suivant: <?php class AdminOrdersController extends AdminOrdersControllerCore { public function sendChangedNotification(Order $order = null) { return false; } } ?> Il faut ensuite enregistrer le fichier et supprimer le fichier class_index.php qui se trouve dans /cache sinon l'override ne sera pas pris en compte. Edited February 13, 2014 by dklfdlfkj (see edit history) Link to comment Share on other sites More sharing options...
manouille Posted February 13, 2014 Share Posted February 13, 2014 Bonjour , j'ai essayé la solution de l'override mais cela ne fonctionne pas sous 1.5.6.2. Le client recoit toujours un mail lorsque sa commande est modifiée. Link to comment Share on other sites More sharing options...
dklfdlfkj Posted February 13, 2014 Share Posted February 13, 2014 Bonjour , j'ai essayé la solution de l'override mais cela ne fonctionne pas sous 1.5.6.2. Le client recoit toujours un mail lorsque sa commande est modifiée. Bonjour Manouille, Est-ce que la solution rapide fonctionne ? Link to comment Share on other sites More sharing options...
manouille Posted February 13, 2014 Share Posted February 13, 2014 (edited) Oui je viens de tester la solution rapide marche. Ne faut il pas reecrire toute la fonction dans l'override ? Edited February 13, 2014 by manouille (see edit history) Link to comment Share on other sites More sharing options...
dklfdlfkj Posted February 13, 2014 Share Posted February 13, 2014 Essayez comme ceci: <?php class AdminOrdersController extends AdminOrdersControllerCore { public function sendChangedNotification(Order $order = null) { return false; } } ?> 1 Link to comment Share on other sites More sharing options...
manouille Posted February 13, 2014 Share Posted February 13, 2014 Super ça marche Merci beaucoup. Link to comment Share on other sites More sharing options...
dklfdlfkj Posted February 13, 2014 Share Posted February 13, 2014 Super ! Je modifie l'ancien post avec la bonne formule. Bonne continuation Link to comment Share on other sites More sharing options...
Rosiel Posted March 23, 2017 Share Posted March 23, 2017 Bonjour, Je remonte le post.Chez moi (en 1.6.0.9), cela ne fonctionne que directement dans mon fichier AdminOrdersController dans controllers/admin.Mais je voudrais bien l'overrider. Et j'ai déjà un fichier AdminOrdersController.php en override.Je pense que c'est un problème de balises, et que je n'ai pas réussi à l'intégrer. Sinon si c'est juste, alors je ne sais pas pourquoi cela ne fonctionne pas en override. Voici en vert l'ajout conseillé :<?phpclass AdminOrdersController extends AdminOrdersControllerCore { public function sendChangedNotification(Order $order = null) { return false; } }public function __construct() { parent::__construct(); $this->_select .= ', ca.name as carrier_name'; $this->_join .= ' LEFT JOIN `'._DB_PREFIX_.'carrier` ca ON (ca.`id_carrier` = a.`id_carrier`)'; $this->fields_list['carrier_name'] = array( 'title' => $this->l('Transporteur'), 'width' => 200, 'callback' => 'transporteur' ); } public function processFilter() { parent::processFilter(); $this->_filter = str_replace('`carrier_name`', 'ca.name', $this->_filter); } public function transporteur($carrier_name) { if (strpos(strtolower($carrier_name), 'colissimo') !== FALSE) return '<span style="color: #cf6c04;">' . $carrier_name . '</span>'; else return $carrier_name; }}Pouvez-vous m'aider ? Merci par avance. Link to comment Share on other sites More sharing options...
BeComWeb Posted March 24, 2017 Share Posted March 24, 2017 Bonjour, Quand tu crées un nouvel override il faut que tu supprimes le fichier class_index.php du répertoire cache pour qu'il soit pris en compte 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