Jump to content

Envoyer un mail lors du changement d'état de commande


Recommended Posts

Bonjour, 

j'ai créé deux fichier tpl qui permette au fournisseur de rajouter le numéro de transport et une fois renseigné l'état de commande passe à expédié.

Jusque la tout va bien, mais le problème est que aucun email est envoyé.

Je ne vois pas comment faire.

 

Quelqu'un a t-il une idée ?

Merci d'avance

Link to comment
Share on other sites

Ben voila c'est normal, les requêtes SQL ne permettent pas d'envoyer des emails. Pour qu'un email parte sur le changement de Statut il faut passer par les méthodes de PrestaShop qui sont OrderHistory, avec changeIdOrderState.

Sinon a vous de programmer l'envoie d'un email quand vos requêtes sont exécutés.

Cdt

Link to comment
Share on other sites

Oui mais je fais 3 requetes :

 

    {$sql1 = "UPDATE ps_orders SET current_state = 4  WHERE reference = '{$smarty.post.numcommande}'"}
    {$result1 = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql1)}

    {$sql = "UPDATE ps_order_carrier SET tracking_number = '{$smarty.post.suivi}' WHERE id_order = '{$smarty.post.commande}'"}
    {$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql)}

    {$sql2 = "INSERT INTO ps_order_history (id_order_history, id_employee, id_order, id_order_state, date_add) VALUES ('', '1', '{$smarty.post.commande}', '4', '{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}')"}
    {$result2 = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql2)}

 

Mais aucun mail n'est envoyé 

Link to comment
Share on other sites

4 minutes ago, Olecorre said:

Voir ma réponse précédente

En plus au vue de vos requêtes vous les avez mis dans un TPL et ce n'est pas une bonne pratique. Un TPL ne doit être utiliser que pour l'affichage, pas de traitement

 

Merci, 

Comment programmer l'envoie d'un email quand les requêtes sont exécutés ?

Vous avez déja fait ? 

Link to comment
Share on other sites

On ne peux pas programmer de code quand des requête sont exécutés!

Si tu pose une question, la moindre des choses serait de lire les réponses.

Tu dois faire le changement de statut de commande en utilisant le framework, donc OrderHistory::addWithMail et ce n'est pas possible depuis un tpl

Code un module !!

  • Haha 1
Link to comment
Share on other sites

- "Je n'arrive pas à envoyer de mail"

- "Comment tu fais ?"

- "Avec des requêtes SQL"

- "On ne peut pas envoyer de mail avec des requêtes SQL"

- "Oui mais j'ai 3 requêtes"

- "Non mais avec des requêtes SQL c'est impossible..."

- "Comment faire avec des requêtes SQL ?"

:huh: :blink: <_<

  • Like 1
  • Haha 1
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...