Prestashop : image produit dans le mail de confirmation

Bonjour
pour inaugurer mon nouveau site voici un petit tuto : remplacer la zone référence par l’image du produit dans le mail de confirmation de commande.

Prestashop 1.5

pas testé sur 1.6 mais à priori ça doit fonctionner aussi : à tester donc

dans classes/PaymentModule.php

function validateOrder (override vivement conseillé)

ligne 352 foreach ($order->product_list as $key => $product)

insérer avant $customization_quantity = 0;

global $link;
$img_link = Product::getCover((int)($product['id_product']));
if($img_link > 0){
$img_link = Context::getContext()->link->getImageLink($product['link_rewrite'], $img_link['id_image'], 'small');

ensuite dans le td du tableau

<td style="padding: 0.6em 0.4em;width: 15%;"><img src="'.$img_link.'" alt="'.$product['name'].'" /></td>

la portion du code

foreach ($order->product_list as $key => $product)
{
$price = Product::getPriceStatic((int)$product['id_product'], false, ($product['id_product_attribute'] ? (int)$product['id_product_attribute'] : null), 6, null, false, true, $product['cart_quantity'], false, (int)$order->id_customer, (int)$order->id_cart, (int)$order->{Configuration::get('PS_TAX_ADDRESS_TYPE')});
$price_wt = Product::getPriceStatic((int)$product['id_product'], true, ($product['id_product_attribute'] ? (int)$product['id_product_attribute'] : null), 2, null, false, true, $product['cart_quantity'], false, (int)$order->id_customer, (int)$order->id_cart, (int)$order->{Configuration::get('PS_TAX_ADDRESS_TYPE')});
// remplace la référence par l'image du produit dans les mails html
// $link en global
                                               
global $link;
                                               
$img_link = Product::getCover((int)($product['id_product']));
if($img_link > 0){
$img_link = Context::getContext()->link->getImageLink($product['link_rewrite'], $img_link['id_image'], 'small');
}
// la suite dans le foreach
$customization_quantity = 0;
$customized_datas = Product::getAllCustomizedDatas((int)$order->id_cart);
if (isset($customized_datas[$product['id_product']][$product['id_product_attribute']]))
{
$customization_text = '';
foreach ($customized_datas[$product['id_product']][$product['id_product_attribute']][$order->id_address_delivery] as $customization)         {
if (isset($customization['datas'][Product::CUSTOMIZE_TEXTFIELD]))
foreach ($customization['datas'][Product::CUSTOMIZE_TEXTFIELD] as $text)
$customization_text .= $text['name'].': '.$text['value'].'<br />';

if (isset($customization['datas'][Product::CUSTOMIZE_FILE]))
$customization_text .= sprintf(Tools::displayError('%d image(s)'), count($customization['datas'][Product::CUSTOMIZE_FILE])).'<br />';
$customization_text .= '---<br />';
}
$customization_text = rtrim($customization_text, '---<br />');

$customization_quantity = (int)$product['customization_quantity'];
// <img src="'.$img_link.'" /> à la place de $product['reference']
$products_list .='<tr style="background-color: '.($key % 2 ? '#f8f8f8' : '#ffffff').';border-left:1px solid #D6D4D4;border-right:1px solid #D6D4D4;">
<td style="padding: 0.6em 0.4em;width: 15%;"><img src="'.$img_link.'" alt="'.$product['name'].'" /></td>
<td style="padding: 0.6em 0.4em;width: 30%;font-family: Arial;"><strong>'.$product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : '').' - '.Tools::displayError('Customized').(!empty($customization_text) ? ' - '.$customization_text : '').'</strong></td>
<td style="padding: 0.6em 0.4em; width: 20%;font-family: Arial;">'.Tools::displayPrice(Product::getTaxCalculationMethod() == PS_TAX_EXC ?  Tools::ps_round($price, 2) : $price_wt, $this->context->currency, false).'</td>
<td style="padding: 0.6em 0.4em; width: 15%;font-family: Arial;">'.$customization_quantity.'</td>
<td style="padding: 0.6em 0.4em; width: 20%;font-family: Arial;">'.Tools::displayPrice($customization_quantity * (Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt), $this->context->currency, false).'</td>
</tr>';
}

if (!$customization_quantity || (int)$product['cart_quantity'] > $customization_quantity)
$products_list .='<tr style="background-color: '.($key % 2 ? '#f8f8f8' : '#ffffff').';border-left:1px solid #D6D4D4;border-right:1px solid #D6D4D4;">
<td style="padding: 0.6em 0.4em;width: 15%;font-family: Arial;"><img src="'.$img_link.'" alt="'.$product['name'].'" /></td>
<td style="padding: 0.6em 0.4em;width: 30%;font-family: Arial;"><strong>'.$product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : '').'</strong></td>
<td style="padding: 0.6em 0.4em; width: 20%;font-family: Arial;">'.Tools::displayPrice(Product::getTaxCalculationMethod((int)$this->context->customer->id) == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt, $this->context->currency, false).'</td>
<td style="padding: 0.6em 0.4em; width: 15%;font-family: Arial;">'.((int)$product['cart_quantity'] - $customization_quantity).'</td>
<td style="padding: 0.6em 0.4em; width: 20%;font-family: Arial;">'.Tools::displayPrice(((int)$product['cart_quantity'] - $customization_quantity) * (Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt), $this->context->currency, false).'</td>
</tr>';

etc...

Nos actualités

Actus techniques

IMPORTANT - Alerte phishing messagerie

Cher Client, chère cliente
Si vous recevez un mail vous demandant de confirmer
vous identifiants de messagerie, n’y répondez surtout pas.
Il s’agit d’un phishing (hameçonnage). Une fois en possession
de vos identifiants le pirate les utiliserait pour envoyer du spam.
En aucun cas nous vous (...)


(Lire la suite..)

Changement de serveur

Cher Client, chère cliente
Afin d’améliorer nos services et dans le cadre de la mise à niveau de mes infrastructures d’hébergement, les anciens comptes sont en cours de déplacement sur un nouveau serveur plus puissant et plus rapide. Ce transfert est transparent pour vous.
Bien cordialement
Natacha (...)


(Lire la suite..)

Courcelles Design

Courcelles Design
Agence de communication Web
Design & développement de site Internet

82 chemin de ronde
32230 - Marciac - Gers
31000 - Toulouse - Haute-Garonne

Je suis présente à Toulouse généralement en fin de semaine et disponible sur simple rendez-vous directement dans vos locaux.

Plan d’accès à Marciac

Fixe 05 62 09 33 21 - Portable 06 63 27 92 71

RCS Auch 403 195 209
N° Siret 403 195 209 00040
APE 6311 Z - TVA intra : FR04403195209

Contactez-nous.

Je confirme ne pas être un robot :-)

Réseaux sociaux