Jump to content

Alerte email : Votre commande a été a été modifiée par le marchand


Recommended Posts

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

  • 2 weeks later...
  • 7 months later...

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.

 

:rolleyes:

Edited by dklfdlfkj (see edit history)
Link to comment
Share on other sites

  • 1 month later...
  • 3 years later...

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é :
<?php
class 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...