Majimo Posted March 27, 2017 Share Posted March 27, 2017 Bonjour, J'ai parcouru les réponses de mon ami Google quand à mon problème mais je n'ai pas vraiment trouvé de réponses dans l'immédiat... Ce que je souhaite faire, c'est afficher, en fonction du jour de la semaine une partie de mon template de mail (situé dans le répertoire /mails/fr de mon dossier Prestashop). Je m'explique pour plus de clarté, j'ai ce genre de code dans le order_conf.html : <font size="2" face="Open-sans, sans-serif" color="#555454"> <span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px;">Bonjour {firstname} {lastname},</span><br /> <span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px;">Merci d'avoir effectué vos achats sur {shop_name}!</span> </font> J'aimerai y ajouter une condition du type : <? php if date(strtotime('Monday')) { echo <p>Rappel : vous avez passé votre commande un lundi, la boutique ne pourra vous livrer que mardi</p> } ?> Est-ce possible ? Il faut dans ce cas changer l'extension en php ? Comment cette modification est-elle dans ce cas répercutée sur la version .txt du mail ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted March 27, 2017 Share Posted March 27, 2017 Bonjour, il n'est pas possible de faire de conditions dans les fichiers HTML ou TXT. Il faut réussir à faire la condition dans le controller ou classe PHP provoquant l'appel du template email. 1 Link to comment Share on other sites More sharing options...
Majimo Posted March 27, 2017 Author Share Posted March 27, 2017 Bonjour, il n'est pas possible de faire de conditions dans les fichiers HTML ou TXT. Il faut réussir à faire la condition dans le controller ou classe PHP provoquant l'appel du template email. Merci, c'est ce que je craignais. Une idée dans ce cas du controller ou de la classe PHP qui influe sur l'appel du template /mails/fr/order_conf.html (et order_conf.txt bien sûr ) ? Je débute sur Prestashop et je suis un peu perdu dans tous ces appels ^^ Link to comment Share on other sites More sharing options...
doekia Posted March 27, 2017 Share Posted March 27, 2017 c'est la classe Mail elle même qui fait cela, mais le code ne sait que faire du remplacement simple à partir d'un tableau fournit. Il n'y a aucun langage derrière Link to comment Share on other sites More sharing options...
Majimo Posted March 28, 2017 Author Share Posted March 28, 2017 c'est la classe Mail elle même qui fait cela, mais le code ne sait que faire du remplacement simple à partir d'un tableau fournit. Il n'y a aucun langage derrière Merci bien, je vais regarder ça. Mais en gros si je comprends bien, il n'y a pas vraiment de solution à mon problème...? :/ (si tu dis qu'il ne s'agit que d'un principe de remplacement) Link to comment Share on other sites More sharing options...
doekia Posted March 28, 2017 Share Posted March 28, 2017 Est-ce qu'une feuille de papier peut faire un "if" ? La c'est pareil. Il n'y a aucun code, juste la substitution d'un mot {firstname} par le prénom Link to comment Share on other sites More sharing options...
Majimo Posted March 28, 2017 Author Share Posted March 28, 2017 Est-ce qu'une feuille de papier peut faire un "if" ? La c'est pareil. Il n'y a aucun code, juste la substitution d'un mot {firstname} par le prénom Oui merci. Mais en fait le {firstname} était un exemple, pour bien préciser que je me trouvais dans la partie mail. Je voulais savoir si c'était possible de faire un "if", mais apparemment non. Je vais donc chercher une autre solution à mon problème. Link to comment Share on other sites More sharing options...
J. Danse Posted March 28, 2017 Share Posted March 28, 2017 Bonjour, Il y a bien entendu une solution, comme le mentionnait MediaCom. Il vous faut donc éditer la classe PaymentModule et plus précisément la méthode validateOrder() à cet effet. Pour bien faire, le mieux serait d'avoir un module tiers implémentant le hook "actionGetExtraMailTemplateVars" par exemple et qui se chargerait donc de retourner un tableau avec les variables (cela peut être le contenu de votre chaine de caractère ou du vide) et ajouter la "variable" dans le template d'email, donc. Link to comment Share on other sites More sharing options...
Majimo Posted March 28, 2017 Author Share Posted March 28, 2017 Bonjour, Il y a bien entendu une solution, comme le mentionnait MediaCom. Il vous faut donc éditer la classe PaymentModule et plus précisément la méthode validateOrder() à cet effet. Pour bien faire, le mieux serait d'avoir un module tiers implémentant le hook "actionGetExtraMailTemplateVars" par exemple et qui se chargerait donc de retourner un tableau avec les variables (cela peut être le contenu de votre chaine de caractère ou du vide) et ajouter la "variable" dans le template d'email, donc. Merci beaucoup, Je vais regarder ça et tenter de me pencher sur cette solution. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now