Jump to content

[Résolu] Ajouter des champs dans les templates de mail


Recommended Posts

Bonsoir,

 

Je cherche à ajouter des champs personnalisés (ex: {firstname}, {order_id}) dans les templates des mails, dans la partie où on défini les états des commandes. J'ai pensé que cela se faisait dans le fichier "AdminOrdersController.php", mais non.

 

Si quelqu'un peut m'aider, merci.

Edited by [email protected] (see edit history)
Link to comment
Share on other sites

Bonjour,

Oui c'est bien dans ce controller dans la function postProcess().

Tu dois avoir des lignes comme celle çi :

 $templateVars = array(
   '{followup}' => str_replace('@', $order->shipping_number, $carrier->url),
   '{firstname}' => $customer->firstname,
   '{lastname}' => $customer->lastname,
   '{id_order}' => $order->id,
   '{order_name}' => $order->getUniqReference()
  );

 

Donc tu ajoutes ce que tu veux la dedans et tu modifies le template de mail correspondant.

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

  • 2 years later...

Bonjour.

 

Je me permet de relancer le sujet pour deux raisons :

 

La première : j'aimerais comprendre pourquoi les "champs" disponibles dans les templates de mail sont affectés dans OrderHistory.php et non dans un fichier qui serait plus en rapport avec les états ou autres..

 

La seconde :

Lors d'un paiement par l'utilisateur via virement bancaire (bankwire), presta va envoyer 2 mails : un avec les infos concernant le virement (bankwire.html) et un de confirmation de commande avec la liste des produits commandés (order_conf.html).

Or, j'aimerais que presta n'envoi qu'un seul mail avec les infos des deux regroupées...

 

Du coup, en modifiant le fichier PaymentModule.php j'ai réussi à mettre une clause pour annuler l'envoi de order_conf.html pour le cas du virement bancaire ( parcequ'il me semble que cet envoi est automatique pour tout type de commande ).

Donc maintenant je modifie le template du mail bankwire.html en essayent de rajouter les champs de order_conf.html (et bien sur il y a des champs qui merdent)

 

C'est un peu de la bidouille quand même non ?!

Y aura t'il plus simple ?

 

Je vous remercie.. :)

Link to comment
Share on other sites

  • 2 weeks later...

Ca bouge à fond sur le forum fr dis donc !!

Pour ceux qui chercheraient à faire comme moi je vais donner ma méthode, bien que je ne sois pas sûr qu'elle soit la bonne !

 

Pour ajouter des champs dans le mail des virements bancaires, il faut se placer dans le fichier classe OrderHistory.php

if (isset($result['template']) && Validate::isEmail($result['email']))
        {
            ShopUrl::cacheMainDomainForShop($order->id_shop);
            
            $topic = $result['osname'];
            $data = array(
                '{lastname}' => $result['lastname'],
                '{firstname}' => $result['firstname'],
                 .........................

et vous pourrez affecter les variables de cette façon..

 

Ensuite dans les templates bankwire.html et bankwire.txt, vous devriez pouvoir ajouter vos nouvelles variables.

 

 

Si jamais quelqu'un à une solution plus "propre" ou qui ne touche pas au fichier OrderHistory.php, qu'il fasse signe ou se taise à jamais !

Link to comment
Share on other sites

  • 2 weeks later...

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