Quelles sont les variables disponibles dans les templates d’emails de Prestashop ?

Posté le 17 mai 2017 by

Avec Prestashop, chaque type d’email envoyé possède une liste de variables disponibles différentes.

La classe Mail définie dans Mail.php liste les variables qui sont incluses dans chacun des emails :
{shop_logo}
{shop_name}
{shop_url}
{my_account_url}
{guest_tracking_url}
{history_url}
{color}

Si vous souhaitez rajouter une nouvelle valeur, par exemple la civilité, vous pouvez :
– soit le faire de manière unitaire par surcharge des controlleurs de Prestashop, en ajoutant au tableau template_vars, 4ème paramètre de la méthode Mail::Send(), les nouvelles valeurs, par ex: {title} => ‘Monsieur’
– soit le faire pour l’ensemble des emails de Prestashop en surchargeant la classe Mail : le contexte disponible pour chaque email envoyé sera légèrement différent, mais vous aurez de bon résultat en vous appuyant sur la variable $this->context->customer (le genre est porté par l’attribut id_gender).

Notez que les variables disponibles évoluent en fonction des versions de Prestashop.

A compter de Prestashop 1.7 par exemple, l’identifiant de commande {id_order} est remplacé par la référence de commande {order_name}