Jump to content

[RESOLU] Modification template de mail "new_order.html"


Recommended Posts

Bonjour la communauté. Je cherche le moyen sur "PS 8.1" de décortiquer la variable { items } se trouvant dans ce template html destiné à l'administrateur pour réorganiser les colonnes (Article, Qté, Désignation, P.U Brut, ...) du tableau des produits commandés. Par exemple, 

<td>{product_reference}</td>

<td>{product_quantity}</td>

<td>{product_name}</td>

<td>{unit_price_tax_excl}</td>

<td>{unit_price_tax_incl}</td>

<td>{discount}</td>

<td>{$item.product_price}</td>

Mais ceux-ci ne sont pas interprété une fois le mail envoyé.

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

Bonjour,

Ce mail est géré par le module ps_emailalerts, la liste des variables est disponible dans le fichier modules/ps_emailalerts/ps_emailalerts.php au niveau de la fonction hookActionValidateOrder():

$template_vars = [
            '{firstname}' => $customer->firstname,
            '{lastname}' => $customer->lastname,
            '{email}' => $customer->email,
            '{delivery_block_txt}' => MailAlert::getFormatedAddress($delivery, "\n"),
            '{invoice_block_txt}' => MailAlert::getFormatedAddress($invoice, "\n"),
			...
];

La variable {items} est défini ici:

$items_table = '';
foreach ($order_return_products as $key => $product) {
  $url = $context->link->getProductLink($product['product_id']);
  $items_table .=
  '<tr style="background-color:' . ($key % 2 ? '#DDE2E6' : '#EBECEE') . ';">
    <td style="padding:0.6em 0.4em;">' . $product['product_reference'] . '</td>
    <td style="padding:0.6em 0.4em;">
      <strong><a href="' . $url . '">' . $product['product_name'] . '</a>
      </strong>
    </td>
    <td style="padding:0.6em 0.4em; text-align:center;">' . (int) $product['product_quantity'] . '</td>
  </tr>';
}

L'intégration des variables dans les templates des mails n'est pas la même que pour smarty, il ne faut pas ajouter de $ devant le nom de la variable.

Link to comment
Share on other sites

On 7/26/2024 at 9:17 AM, imjulien.dev said:

Bonjour,

Ce mail est géré par le module ps_emailalerts, la liste des variables est disponible dans le fichier modules/ps_emailalerts/ps_emailalerts.php au niveau de la fonction hookActionValidateOrder():

$template_vars = [
            '{firstname}' => $customer->firstname,
            '{lastname}' => $customer->lastname,
            '{email}' => $customer->email,
            '{delivery_block_txt}' => MailAlert::getFormatedAddress($delivery, "\n"),
            '{invoice_block_txt}' => MailAlert::getFormatedAddress($invoice, "\n"),
			...
];

La variable {items} est défini ici:

$items_table = '';
foreach ($order_return_products as $key => $product) {
  $url = $context->link->getProductLink($product['product_id']);
  $items_table .=
  '<tr style="background-color:' . ($key % 2 ? '#DDE2E6' : '#EBECEE') . ';">
    <td style="padding:0.6em 0.4em;">' . $product['product_reference'] . '</td>
    <td style="padding:0.6em 0.4em;">
      <strong><a href="' . $url . '">' . $product['product_name'] . '</a>
      </strong>
    </td>
    <td style="padding:0.6em 0.4em; text-align:center;">' . (int) $product['product_quantity'] . '</td>
  </tr>';
}

L'intégration des variables dans les templates des mails n'est pas la même que pour smarty, il ne faut pas ajouter de $ devant le nom de la variable.

Bonjour @imjulien.dev merci beaucoup pour votre aide et vos explications claires et précises.

Link to comment
Share on other sites

  • LETB changed the title to [RESOLU] Modification template de mail "new_order.html"

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