Jump to content

Envoyer un mail depuis un module


Recommended Posts

Bonjour,

 

Je suis en train de développer un module qui envoi un email au client lorsqu'une commande a été validée (autre que celui envoyé par PS).

 

Quelles sont les bonnes pratiques pour ce genre de cas ?

  • Dois-je enregistrer le tpl du mail dans le dossier du module ?
  • Ou le déplacer dans le dossier mails à l'installation ?
  • Est-il possible de surcharger simplement le tpl depuis le dossier du thème comme tout autre tpl ?

 

Merci par avance,

Guillaume

Link to comment
Share on other sites

Bonjour Guillaume,

 

Pour envoyer un mail, il faut utiliser la fonction static Send() de la classe Mail.php en lui passant les valeurs souhaitées (titre du mail, assignation des variables smarty pour compléter le mail, adresse mail destinataire, chemin des modèles du mail, etc.)

 

Le modèle de mail n'est pas au format tpl.

 

Une bonne pratique : Le répertoire du module doit contenir un répertoire mails avec un sous-répertoire par langue utilisée (fr pour le français, en pour l'anglais, etc.). Chacun des répertoires de langue doit contenir deux fichiers correspondants au modèle du mail au format html et txt. 

 

Cdt.

  • Like 1
Link to comment
Share on other sites

Bonsoir,

 

La bonne pratique est en effet d'embarqué dans votre module l'ensemble des fichiers nécessaires. Dans le cas présent, il s'agit des templates des emails (au format html et txt, donc.

 

De même, ceux-ci doivent se baser sur le thème par défaut (un dupliqué d'un existant modifié pour intégrer votre contenu de base fera l'affaire, par exemple).

 

C'est au sein du thème que le mail sera modifié pour correspondre à la charte graphique de la boutique. Et, ceci dit, les mails natifs sont également surchargeable de cette manière au sein du thème. C'est normalement la bonne pratique à considérer (bien que PrestaShop reconnait la modification des templates mails au sein même du répertoire par défaut, et n'écrase donc pas les emails lors d'une mise à jour, à dire vrai ;-)

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