Jump to content

Modèle de Mail de référence modifié : {VirtualProduct} non actif


Recommended Posts

Version Prestashop: 1.5.4.1 ;

 

Bonjour,

 

je me permets de poster sur ce forum après quelques recherches infructueuses. N'étant ni développeur et ayant ouvert mon site depuis quelques semaines, je reste bloqué sur des éléments un peu simples.

 

C'est une boutique de produits virtuels.

 

thème : acheté sur prestaddon (n'est plus par défaut);

 

 

Problème:

 

Je souhaite modifier un mail de référence (payment.html) pour que les clients puissent :

 

- obtenir un lien de téléchargement à l'intérieur du mail;

- connaissent le nombre de produits achetés;

 

payment.html se trouve dans le dossier themeXYZ.../mails/fr/

 

Le contenu du dossier "mails" avec tous les fichiers .txt et .html en racine a été copié dans ce thème. Auparavant il était impossible d'avoir une exécution des modifications réalisées sur ces fichiers.

 

 

En conséquence: voici les deux éléments que j'ai ajoutés au mail de référence, en copiant ces éléments d'un fichier download_product:

 

1. {nbProducts} : affiche le nombre de produits achetés 2. {virtualProducts} : lien vers le produit à télécharger ( le plus important)

 

 

j'ai donc modifié le code de payment.html de la manière suivante:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Message de {shop_name}</title>

</head>

<body>

<table style="font-family: Verdana,sans-serif; font-size: 11px; color: #374953; width: 550px;">

<tbody>

<tr>

<td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td>

</tr>

<tr>

<td> </td>

</tr>

<tr>

<td align="left">Bonjour <strong style="color: {color};">{firstname} {lastname}</strong>,</td>

</tr>

<tr>

<td> </td>

</tr>

<tr>

<td style="background-color: {color}; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">Historique de votre commande ayant pour référence {order_name}</td>

</tr>

<tr>

<td> </td>

</tr>

<tr>

<td align="left"><strong>Le paiement pour votre commande a été accepté!</strong></td>

</tr>

<tr>

<td> </td>

</tr>

<tr>

<td align="left">Vous avez {nbProducts} jeu(x) et jouet(s) à télécharger.</td>

</tr>

<tr>

<td align="left"><strong>Voici les liens directs vers ceux-ci: {virtualProducts}</strong></td>

</tr>

<tr>

<td> </td>

</tr>

 

<tr>

<td align="left"><strong>Bonne(s) impression(s) ;)</strong></td>

</tr>

<tr>

<td> </td>

</tr>

 

<tr>

<td align="left">Vous pouvez accéder au suivi de votre commande et télécharger votre facture dans <a style="color: {color}; font-weight: bold; text-decoration: none;" href="{history_url}">"Historique des commandes"</a> de la rubrique <a style="color: {color}; font-weight: bold; text-decoration: none;" href="{my_account_url}">"Mon compte"</a> sur notre site.</td>

</tr>

<tr>

<td align="left">Si vous avez un compte invité, vous pouvez suivre votre commande dans la section <a style="color: {color}; font-weight: bold; text-decoration: none;" href="{guest_tracking_url}">"Suivi invité"</a> de notre site.</td>

</tr>

<tr>

<td> </td>

</tr>

<tr>

<td style="font-size: 10px; border-top: 1px solid #D9DADE;" align="center"><a style="color: {color}; font-weight: bold; text-decoration: none;" href="{shop_url}">{shop_name}</a> réalisé avec <a style="text-decoration: none; color: #374953;" href="http://www.prestashop.com/">PrestaShop™</a></td>

</tr>

</tbody>

</table>

</body>

</html>

 

Le résultat est que tous les liens fonctionnent ({shop_name}, {guest_tracking_url}, etc) sauf ces deux nouveaux ajouts.

 

Quelles seraient les opérations à faire pour que ces deux insertions fonctionnent ? Merci d'avance pour votre aide,

 

John

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

Il faut utiliser les fichiers download_product.html et download_product.txt

Dedans, tu trouveras normalement ton bonheur. :)

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Message de {shop_name}</title>
</head>
<body>
<table style="font-family: Verdana,sans-serif; font-size: 11px; color: #374953; width: 550px;">
<tbody>
<tr>
<td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="left">Bonjour <strong style="color: {color};">{firstname} {lastname}</strong>,</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td style="background-color: {color}; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">Produits à télécharger</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="left">Vous avez {nbProducts} produit(s) à télécharger.</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="left">Voici les liens directs vers ceux-ci : {virtualProducts}</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="left">Vous pouvez accéder au suivi de votre commande et télécharger votre facture dans <a style="color: {color}; font-weight: bold; text-decoration: none;" href="{history_url}">"Historique des commandes"</a> de la rubrique <a style="color: {color}; font-weight: bold; text-decoration: none;" href="{my_account_url}">"Mon compte"</a> sur notre site.</td>
</tr>
<tr>
<td align="left">Si vous avez un compte invité, vous pouvez suivre votre commande dans la section <a style="color: {color}; font-weight: bold; text-decoration: none;" href="{guest_tracking_url}?id_order={order_name}">"Suivi invité"</a> de notre site.</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td style="font-size: 10px; border-top: 1px solid #D9DADE;" align="center"><a style="color: {color}; font-weight: bold; text-decoration: none;" href="{shop_url}">{shop_name}</a> réalisé avec <a style="text-decoration: none; color: #374953;" href="http://www.prestashop.com/">PrestaShop™</a></td>
</tr>
</tbody>
</table>
</body>
</html>

Link to comment
Share on other sites

Salut Indesign,

 

merci beaucoup pour cette réponse !

 

1/ Juste une petite précision: que veux tu dire par "utiliser"?

 

- Copier-coller certains des éléments de download_product.html dans payment.html ? Dans ce cas c'est fait et les deux ajouts ne fonctionnent pas.

 

- Copier-coller tout le contenu de download_product.html dans payment.html?

 

- activer download_product pour envoyer ce type de message au client? J'ai écarté cette possibilité pour éviter au client de recevoir 3 messages par commande (Paiment confirmé / historique de commande / lien de téléchargement).

 

Je souhaite donc inclure ces deux éléments dans le mail de paiment confirmé, si c'est est possible bien sûr!

 

2/ L'existence d'un fichier .txt et d'un html demeure un mystère pour moi, pourquoi ne pas garder un seul .html pour ces mails?

 

Bonne journée et merci pour votre aide,

 

John

Link to comment
Share on other sites

Bonjour John,

 

J'ai écarté cette possibilité pour éviter au client de recevoir 3 messages par commande (Paiment confirmé / historique de commande / lien de téléchargement).

Oups ! j'avais pas bien lu. Je comprends mieux le souhait. ;)

Jettes un œil, dans la classe OrderHistory.php

Possible, que cette fonction t'intéresse

public function changeIdOrderState($new_order_state, $id_order, $use_existing_payment = false)

 

 

2/ L'existence d'un fichier .txt et d'un html demeure un mystère pour moi, pourquoi ne pas garder un seul .html pour ces mails?

Chaque email dispose d’un fichier .txt et .html au cas ou le client de messagerie du destinataire ne supporterait pas le HTML (c’est assez rare faut dire). @webbax

Link to comment
Share on other sites

  • 2 weeks later...

Salut Indesign,

 

désolé pour cette réponse tardive, je reviens juste sur le prestashop. Voici la bête repérée dans le dossier class/order:

 

    public function changeIdOrderState($new_order_state, $id_order, $use_existing_payment = false)
    {
        if (!$new_order_state || !$id_order)
            return;

        if (!is_object($id_order) && is_numeric($id_order))
            $order = new Order((int)$id_order);
        elseif (is_object($id_order))
            $order = $id_order;
        else
            return;

        $new_os = new OrderState((int)$new_order_state, $order->id_lang);
        $old_os = $order->getCurrentOrderState();
        $is_validated = $this->isValidated();

 

Voici le code html du fichier:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Message de {shop_name}</title>
</head>
<body>
    <table style="font-family: Verdana,sans-serif; font-size: 11px; color: #374953; width: 550px;">
<tbody>
<tr>
<td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="left">Bonjour <strong style="color: {color};">{firstname} {lastname}</strong>,</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td style="background-color: {color}; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">Produits à télécharger</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="left">Vous avez {nbProducts} produit(s) à télécharger.</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="left">Voici les liens directs vers ceux-ci : {virtualProducts}</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="left">Vous pouvez accéder au suivi de votre commande et télécharger votre facture dans <a style="color: {color}; font-weight: bold; text-decoration: none;" href="{history_url}">"Historique des commandes"</a> de la rubrique <a style="color: {color}; font-weight: bold; text-decoration: none;" href="{my_account_url}">"Mon compte"</a> sur notre site.</td>
</tr>
<tr>
<td align="left">Si vous avez un compte invité, vous pouvez suivre votre commande dans la section <a style="color: {color}; font-weight: bold; text-decoration: none;" href="{guest_tracking_url}?id_order={order_name}">"Suivi invité"</a> de notre site.</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td style="font-size: 10px; border-top: 1px solid #D9DADE;" align="center"><a style="color: {color}; font-weight: bold; text-decoration: none;" href="{shop_url}">{shop_name}</a> réalisé avec <a style="text-decoration: none; color: #374953;" href="http://www.prestashop.com/">PrestaShop™</a></td>
</tr>
</tbody>
</table>
</body>
</html>

 

Comme je n'y connais pas grand chose, je pourrais m'imaginer que la réponse idéale serait : je prends ce morceau de code que tu m'as indiqué dans le orderhistory, je la copie-colle dans le code hmtl du fichier download product.html. Mais ça serait trop simple et je sens que ça va pas marcher:)

 

Que me recommandrais-tu donc de faire avec ce morceau de code d'order history?

 

Merci d'avance!

 

John

 

 

Link to comment
Share on other sites

Bonjour John,

 

Comme je n'y connais pas grand chose, je pourrais m'imaginer que la réponse idéale serait : je prends ce morceau de code que tu m'as indiqué dans le orderhistory, je la copie-colle dans le code hmtl du fichier download product.html. Mais ça serait trop simple et je sens que ça va pas marcher:)

 

En effet, ça serait trop simple. ;)

 

J'ai pas mal cherché... j'avoue que ta demande n'est pas simple du tout.

 

• Soit tu gardes le fonctionnement classique de PS : 3 emails

• Soit tu peux essayer d'exposer ton problème ici ,peut-être qu'un dev, voudra bien se pencher sur ta demande.... :)

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