Jump to content

Modification template mail


Recommended Posts

Bonjour la communauté Prestashop,

C'est mon premier post sur le forum pour une demande d'aide. Je sais pas si on doit se presenter quelque part !?

J'ai modifié un template d'envoi de mail sur le status d'une commande (en fait un copié / coller) du confirmation de commande, mais celui ci arrive avec les balises sous forme

Commande: #000025 passée le {date}  



au lieu de

   Commande: #000025 passée le 25-01-2011 23:19:56  



Je ne comprend pas, j'ai recherché dans le forum sans succès.

Merci pour votre coup de main.

Link to comment
Share on other sites

Salut tony231,

j'ai déjà eu le même problème et cela signifie que la variable date n'a pas été déclarée et assignée au préalable dans le fichier php qui va appeler le template.
La solution serait donc de trouver ce fichier php, d'y déclarer une variable date puis l'assigner au template mail.

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour,

J'ai le même type de soucis.
Après avoir bidouillé les templates mail, certain ont les mêmes affichages: {variable} au lieu de sa valeur.

Est-ce que qqn pourrait faire un petit tuto pour expliquer où trouver les variables, comment en créer de nouvelles (éventuellement), comment les assigner.

Merci au courageux qui pourrait apporter se contribution :/

Link to comment
Share on other sites

Bonsoir,
J'ai fait cette modification il y a quelques temps sur la V1.2.5.0.
Il faut assigner la variable date dans le fichier classes\OrderHistory.php

Après :

$data['{order_name}'] = sprintf("d", intval($order->id));


Tu ajoutes :

$data['{date}'] = Tools::displayDate(date('Y-m-d H:i:s'), intval($order->id_lang), 1);



Salutations.

Link to comment
Share on other sites

Ta méthode fonctionne bien mais les autres variables ne sont pas assignées non plus.
Pour le template mail order_conf.html.
J'ai passé la journée à bidouiller entre OrderHistory.php et PaymentModule.php.
Toute les variables assignées par OrderHistory.php sont déjà présentes depuis PaymentModule.php, alors j'ai copié chaque variable.
Sans doute que je fais les chose à l'envers mais c'est la seule façon que j'ai trouvé.

Mais je bloque sur l'affichage de la liste de produits {products} et {discounts}.
Pourtant j'ai tout récupéré du dossier d'install de PS 1.3.7.

Help

39298_ZB41UShlcyAUuu0lGhEB_t

39297_a9rEobguQKr5wWyq5Ati_t

Link to comment
Share on other sites

Drelin,
J'ai répondu à la question initiale de tony231 pour ajouter la variable {date} dans les mails de statuts de commande (autre que order_conf.html).
Les variables de order_conf.html ne sont pas assignées aux autres templates mail.

Si je tente de répondre à ton tout premier post, je dirais que les variables de order_conf.html sont assignées dans PaymentModule.php et pour les statuts de commande cela se passe dans OrderHistory.php. Mais ca tu devais l'avoir compris.

Tu montres 2 images qui sont le template order_conf.html, une fois avec les variables ok et l'autre ko.
Finalement je ne comprends pas ton problème. Si tu espères des réponses, à mon avis tu devrais prendre le temps d'être plus clair dans tes explications (sur quelle template mail tu travailles, quelle variable pose problème, etc...).

Link to comment
Share on other sites

Bah pourtant c'est simple.
Il me semblait bien avoir compris que les variables de oder_conf.htlm étaient assignées dans Payment module. Sauf que le résultat était catastrophique (capture de droite).
Avec ton aide pour la variable {date} dans OrderHistory.php j'ai pu avoir une piste pour afficher des résultats, même si ce n'est pas logique, ça marche!!
Alors j'ai continué à récupérer chaque variable dans l'un pour les recopier dans l'autre.
A moins de m'éclairer sur pourquoi order_conf.html n'est plus géré par PaymentModule.php, je n'ai trouvé que ça comme solution...

Du coup je bloque sur la liste de produits {products} et {discounts} qui ne s'affiche pas et qui dépasse mon entendement.

Ai-je été clair ce coup-ci? Je veux juste que le mail d'origine fonctionne, rien d'extra-ordinaire...

Link to comment
Share on other sites

  • 1 month later...

En fait je viens de comprendre pourquoi on ne se comprenait pas.

Suite à l'achat d'un module de création de commande depuis le BO, je cherchais à envoyer un mail de confirmation de commande.
Or ce n'est pas assigné par PaymentModule.php alors que je créais un commande selon la logique. Mais il ne s'agit en fait que d'un changement de statut sur une commande créée virtuellement (ajoutée en bdd sans les étapes de confirmation).

Donc tout fonctionne de mon coté. Merci Leeloo et désolé pour l'incompréhension...

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