Jump to content
Tchupa

Afficher référence fournisseur dans new_order

Recommended Posts

Bonjour,

je cherche a afficher en dessous de la référence produit, la référence du fournisseur dans le mail du module "mailalert" ayant pour template new_order .

Notre boutique est actuellement sous prestashop 1.6.1.10

j'ai essayé de modifier le fichier mailalerts.php mais sans success.

Auriez vous une solution pour ma demande ?

En vous remerciant.

Cordialement .

Share this post


Link to post
Share on other sites

tu as regarder dans les fichiers de traductions ?

Les traductions des emails cherche new order puis modifie le code.

Share this post


Link to post
Share on other sites

Hello,

on override AdminProductController.php afin que la référence supplier s'injecte dans ps_product

<?php
/*
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2017 PrestaShop SA
*  @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

/**
 * @property Product $object
 */
class AdminProductsController extends AdminProductsControllerCore
{

 /**
    * Post treatment for suppliers
    */
    public function processSuppliers()
    {
        if ((int)Tools::getValue('supplier_loaded') === 1 && Validate::isLoadedObject($product = new Product((int)Tools::getValue('id_product')))) {
            // Get all id_product_attribute
            $attributes = $product->getAttributesResume($this->context->language->id);
            if (empty($attributes)) {
                $attributes[] = array(
                    'id_product_attribute' => 0,
                    'attribute_designation' => ''
                );
            }

            // Get all available suppliers
            $suppliers = Supplier::getSuppliers();

            // Get already associated suppliers
            $associated_suppliers = ProductSupplier::getSupplierCollection($product->id);

            $suppliers_to_associate = array();
            $new_default_supplier = 0;

            if (Tools::isSubmit('default_supplier')) {
                $new_default_supplier = (int)Tools::getValue('default_supplier');
            }

            // Get new associations
            foreach ($suppliers as $supplier) {
                if (Tools::isSubmit('check_supplier_'.$supplier['id_supplier'])) {
                    $suppliers_to_associate[] = $supplier['id_supplier'];
                }
            }

            // Delete already associated suppliers if needed
            foreach ($associated_suppliers as $key => $associated_supplier) {
                /** @var ProductSupplier $associated_supplier */
                if (!in_array($associated_supplier->id_supplier, $suppliers_to_associate)) {
                    $associated_supplier->delete();
                    unset($associated_suppliers[$key]);
                }
            }

            // Associate suppliers
            foreach ($suppliers_to_associate as $id) {
                $to_add = true;
                foreach ($associated_suppliers as $as) {
                    /** @var ProductSupplier $as */
                    if ($id == $as->id_supplier) {
                        $to_add = false;
                    }
                }

                if ($to_add) {
                    $product_supplier = new ProductSupplier();
                    $product_supplier->id_product = $product->id;
                    $product_supplier->id_product_attribute = 0;
                    $product_supplier->id_supplier = $id;
                    if ($this->context->currency->id) {
                        $product_supplier->id_currency = (int)$this->context->currency->id;
                    } else {
                        $product_supplier->id_currency = (int)Configuration::get('PS_CURRENCY_DEFAULT');
                    }
                    $product_supplier->save();

                    $associated_suppliers[] = $product_supplier;
                    foreach ($attributes as $attribute) {
                        if ((int)$attribute['id_product_attribute'] > 0) {
                            $product_supplier = new ProductSupplier();
                            $product_supplier->id_product = $product->id;
                            $product_supplier->id_product_attribute = (int)$attribute['id_product_attribute'];
                            $product_supplier->id_supplier = $id;
                            $product_supplier->save();
                        }
                    }
                }
            }

            // Manage references and prices
            foreach ($attributes as $attribute) {
                foreach ($associated_suppliers as $supplier) {
                    /** @var ProductSupplier $supplier */
                    if (Tools::isSubmit('supplier_reference_'.$product->id.'_'.$attribute['id_product_attribute'].'_'.$supplier->id_supplier) ||
                        (Tools::isSubmit('product_price_'.$product->id.'_'.$attribute['id_product_attribute'].'_'.$supplier->id_supplier) &&
                         Tools::isSubmit('product_price_currency_'.$product->id.'_'.$attribute['id_product_attribute'].'_'.$supplier->id_supplier))) {
                        $reference = pSQL(
                            Tools::getValue(
                                'supplier_reference_'.$product->id.'_'.$attribute['id_product_attribute'].'_'.$supplier->id_supplier,
                                ''
                            )
                        );

                        $price = (float)str_replace(
                            array(' ', ','),
                            array('', '.'),
                            Tools::getValue(
                                'product_price_'.$product->id.'_'.$attribute['id_product_attribute'].'_'.$supplier->id_supplier,
                                0
                            )
                        );

                        $price = Tools::ps_round($price, 6);

                        $id_currency = (int)Tools::getValue(
                            'product_price_currency_'.$product->id.'_'.$attribute['id_product_attribute'].'_'.$supplier->id_supplier,
                            0
                        );

                        if ($id_currency <= 0 || (!($result = Currency::getCurrency($id_currency)) || empty($result))) {
                            $this->errors[] = Tools::displayError('The selected currency is not valid');
                        }

                        // Save product-supplier data
                        $product_supplier_id = (int)ProductSupplier::getIdByProductAndSupplier($product->id, $attribute['id_product_attribute'], $supplier->id_supplier);

                        if (!$product_supplier_id) {
                            $product->addSupplierReference($supplier->id_supplier, (int)$attribute['id_product_attribute'], $reference, (float)$price, (int)$id_currency);
                            if ($product->id_supplier == $supplier->id_supplier) {
                                if ((int)$attribute['id_product_attribute'] > 0) {
                                    $data = array(
                                        'supplier_reference' => pSQL($reference),
                                        'wholesale_price' => (float)Tools::convertPrice($price, $id_currency)
                                    );
                                    $where = '
										a.id_product = '.(int)$product->id.'
										AND a.id_product_attribute = '.(int)$attribute['id_product_attribute'];
                                    ObjectModel::updateMultishopTable('Combination', $data, $where);
                                } else {
                                    $product->wholesale_price = (float)Tools::convertPrice($price, $id_currency); //converted in the default currency
                                    $product->supplier_reference = pSQL($reference);
                                    $product->update();
                                }
                            }
                        } else {
                            $product_supplier = new ProductSupplier($product_supplier_id);
                            $product_supplier->id_currency = (int)$id_currency;
                            $product_supplier->product_supplier_price_te = (float)$price;
                            $product_supplier->product_supplier_reference = pSQL($reference);
                            $product_supplier->update();
                            
                            /* Mettre la reférence supplier dans le ps_product */
                            $product = new Product($product->id);
                            $product->supplier_reference = $product_supplier->product_supplier_reference;
                            $product->update();

                        }
                    } elseif (Tools::isSubmit('supplier_reference_'.$product->id.'_'.$attribute['id_product_attribute'].'_'.$supplier->id_supplier)) {
                        //int attribute with default values if possible
                        if ((int)$attribute['id_product_attribute'] > 0) {
                            $product_supplier = new ProductSupplier();
                            $product_supplier->id_product = $product->id;
                            $product_supplier->id_product_attribute = (int)$attribute['id_product_attribute'];
                            $product_supplier->id_supplier = $supplier->id_supplier;
                            $product_supplier->save();
                        }
                    }
                }
            }
            // Manage defaut supplier for product
            if ($new_default_supplier != $product->id_supplier) {
                $this->object->id_supplier = $new_default_supplier;
                $this->object->update();
            }
        }
    }
}

On override le hook validate order dans /override/modules/mailalerts/mailalerts.php

<?php
/**
 * 2007-2016 PrestaShop
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@prestashop.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
 * versions in the future. If you wish to customize PrestaShop for your
 * needs please refer to http://www.prestashop.com for more information.
 *
 * @author    PrestaShop SA <contact@prestashop.com>
 * @copyright 2007-2016 PrestaShop SA
 * @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 * International Registered Trademark & Property of PrestaShop SA
 */

if (!defined('_CAN_LOAD_FILES_'))
	exit;

include_once(dirname(_PS_MODULE_DIR_).'/modules/mailalerts/MailAlert.php');


class MailAlertsOverride extends MailAlerts
{

	public function hookActionValidateOrder($params)
	{
		if (!$this->merchant_order || empty($this->merchant_mails))
			return;

		// Getting differents vars
		$context = Context::getContext();
		$id_lang = (int)$context->language->id;
		$id_shop = (int)$context->shop->id;
		$currency = $params['currency'];
		$order = $params['order'];
		$customer = $params['customer'];
		$configuration = Configuration::getMultiple(
			array(
				'PS_SHOP_EMAIL',
				'PS_MAIL_METHOD',
				'PS_MAIL_SERVER',
				'PS_MAIL_USER',
				'PS_MAIL_PASSWD',
				'PS_SHOP_NAME',
				'PS_MAIL_COLOR'
			), $id_lang, null, $id_shop
		);
		$delivery = new Address((int)$order->id_address_delivery);
		$invoice = new Address((int)$order->id_address_invoice);
		$order_date_text = Tools::displayDate($order->date_add);
		$carrier = new Carrier((int)$order->id_carrier);
		$message = $this->getAllMessages($order->id);

		if (!$message || empty($message))
			$message = $this->l('No message');

		$items_table = '';

		$products = $params['order']->getProducts();
		$customized_datas = Product::getAllCustomizedDatas((int)$params['cart']->id);
		Product::addCustomizationPrice($products, $customized_datas);
		foreach ($products as $key => $product)
		{
			$unit_price = Product::getTaxCalculationMethod($customer->id) == PS_TAX_EXC ? $product['product_price'] : $product['product_price_wt'];

			$customization_text = '';
			if (isset($customized_datas[$product['product_id']][$product['product_attribute_id']]))
			{
				foreach ($customized_datas[$product['product_id']][$product['product_attribute_id']][$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 .= count($customization['datas'][Product::CUSTOMIZE_FILE]).' '.$this->l('image(s)').'<br />';

					$customization_text .= '---<br />';
				}
				if (method_exists('Tools', 'rtrimString'))
					$customization_text = Tools::rtrimString($customization_text, '---<br />');
				else
					$customization_text = preg_replace('/---<br \/>$/', '', $customization_text);
			}

			$url = $context->link->getProductLink($product['product_id']);
			
			$items_table .=
				'<tr style="background-color:'.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
					<td style="padding:0.6em 0.4em;">test1'.$product['product_reference'].'</td>
					<td style="padding:0.6em 0.4em;">test2'.$product['supplier_reference'].'</td>
					<td style="padding:0.6em 0.4em;">
						<strong><a href="'.$url.'">'.$product['product_name'].'</a>'
							.(isset($product['attributes_small']) ? ' '.$product['attributes_small'] : '')
							.(!empty($customization_text) ? '<br />'.$customization_text : '')
						.'</strong>
					</td>
					<td style="padding:0.6em 0.4em; text-align:right;">'.Tools::displayPrice($unit_price, $currency, false).'</td>
					<td style="padding:0.6em 0.4em; text-align:center;">'.(int)$product['product_quantity'].'</td>
					<td style="padding:0.6em 0.4em; text-align:right;">'
						.Tools::displayPrice(($unit_price * $product['product_quantity']), $currency, false)
					.'</td>
				</tr>';
		}
		foreach ($params['order']->getCartRules() as $discount)
		{
			$items_table .=
				'<tr style="background-color:#EBECEE;">
						<td colspan="4" style="padding:0.6em 0.4em; text-align:right;">'.$this->l('Voucher code:').' '.$discount['name'].'</td>
					<td style="padding:0.6em 0.4em; text-align:right;">-'.Tools::displayPrice($discount['value'], $currency, false).'</td>
			</tr>';
		}
		if ($delivery->id_state)
			$delivery_state = new State((int)$delivery->id_state);
		if ($invoice->id_state)
			$invoice_state = new State((int)$invoice->id_state);

		if (Product::getTaxCalculationMethod($customer->id) == PS_TAX_EXC)
			$total_products = $order->getTotalProductsWithoutTaxes();
		else
			$total_products = $order->getTotalProductsWithTaxes();

		$order_state = $params['orderStatus'];

		// Filling-in vars for email
		$template_vars = array(
			'{firstname}' => $customer->firstname,
			'{lastname}' => $customer->lastname,
			'{email}' => $customer->email,
			'{delivery_block_txt}' => MailAlert::getFormatedAddress($delivery, "\n"),
			'{invoice_block_txt}' => MailAlert::getFormatedAddress($invoice, "\n"),
			'{delivery_block_html}' => MailAlert::getFormatedAddress(
				$delivery, '<br />', array(
					'firstname' => '<span style="color:'.$configuration['PS_MAIL_COLOR'].'; font-weight:bold;">%s</span>',
					'lastname' => '<span style="color:'.$configuration['PS_MAIL_COLOR'].'; font-weight:bold;">%s</span>'
				)
			),
			'{invoice_block_html}' => MailAlert::getFormatedAddress(
				$invoice, '<br />', array(
					'firstname' => '<span style="color:'.$configuration['PS_MAIL_COLOR'].'; font-weight:bold;">%s</span>',
					'lastname' => '<span style="color:'.$configuration['PS_MAIL_COLOR'].'; font-weight:bold;">%s</span>'
				)
			),
			'{delivery_company}' => $delivery->company,
			'{delivery_firstname}' => $delivery->firstname,
			'{delivery_lastname}' => $delivery->lastname,
			'{delivery_address1}' => $delivery->address1,
			'{delivery_address2}' => $delivery->address2,
			'{delivery_city}' => $delivery->city,
			'{delivery_postal_code}' => $delivery->postcode,
			'{delivery_country}' => $delivery->country,
			'{delivery_state}' => $delivery->id_state ? $delivery_state->name : '',
			'{delivery_phone}' => $delivery->phone ? $delivery->phone : $delivery->phone_mobile,
			'{delivery_other}' => $delivery->other,
			'{invoice_company}' => $invoice->company,
			'{invoice_firstname}' => $invoice->firstname,
			'{invoice_lastname}' => $invoice->lastname,
			'{invoice_address2}' => $invoice->address2,
			'{invoice_address1}' => $invoice->address1,
			'{invoice_city}' => $invoice->city,
			'{invoice_postal_code}' => $invoice->postcode,
			'{invoice_country}' => $invoice->country,
			'{invoice_state}' => $invoice->id_state ? $invoice_state->name : '',
			'{invoice_phone}' => $invoice->phone ? $invoice->phone : $invoice->phone_mobile,
			'{invoice_other}' => $invoice->other,
			'{order_name}' => $order->reference,
			'{order_status}' => $order_state->name,
			'{shop_name}' => $configuration['PS_SHOP_NAME'],
			'{date}' => $order_date_text,
			'{carrier}' => (($carrier->name == '0') ? $configuration['PS_SHOP_NAME'] : $carrier->name),
			'{payment}' => Tools::substr($order->payment, 0, 32),
			'{items}' => $items_table,
			'{total_paid}' => Tools::displayPrice($order->total_paid, $currency),
			'{total_products}' => Tools::displayPrice($total_products, $currency),
			'{total_discounts}' => Tools::displayPrice($order->total_discounts, $currency),
			'{total_shipping}' => Tools::displayPrice($order->total_shipping, $currency),
			'{total_tax_paid}' => Tools::displayPrice(
				($order->total_products_wt - $order->total_products) + ($order->total_shipping_tax_incl - $order->total_shipping_tax_excl),
				$currency,
				false
			),
			'{total_wrapping}' => Tools::displayPrice($order->total_wrapping, $currency),
			'{currency}' => $currency->sign,
			'{gift}' => (bool)$order->gift,
			'{gift_message}' => $order->gift_message,
			'{message}' => $message

		);

		// Shop iso
		$iso = Language::getIsoById((int)Configuration::get('PS_LANG_DEFAULT'));

		// Send 1 email by merchant mail, because Mail::Send doesn't work with an array of recipients
		$merchant_mails = explode(self::__MA_MAIL_DELIMITOR__, $this->merchant_mails);
		foreach ($merchant_mails as $merchant_mail)
		{
			// Default language
			$mail_id_lang = $id_lang;
			$mail_iso = $iso;

			// Use the merchant lang if he exists as an employee
			$results = Db::getInstance()->executeS('
				SELECT `id_lang` FROM `'._DB_PREFIX_.'employee`
				WHERE `email` = \''.pSQL($merchant_mail).'\'
			');
			if ($results)
			{
				$user_iso = Language::getIsoById((int)$results[0]['id_lang']);
				if ($user_iso)
				{
					$mail_id_lang = (int)$results[0]['id_lang'];
					$mail_iso = $user_iso;
				}
			}

			$dir_mail = false;
			if (file_exists(dirname(_PS_MODULE_DIR_).'/modules/mailalerts/mails/'.$mail_iso.'/new_order.txt') &&
				file_exists(dirname(_PS_MODULE_DIR_).'/modules/mailalerts/mails/'.$mail_iso.'/new_order.html'))
				$dir_mail = dirname(_PS_MODULE_DIR_).'/modules/mailalerts/mails/';

			if (file_exists(dirname(_PS_MODULE_DIR_).'/modules/mailalerts/'.$mail_iso.'/new_order.txt') &&
				file_exists(dirname(_PS_MODULE_DIR_).'/modules/mailalerts/'.$mail_iso.'/new_order.html'))
				$dir_mail = _PS_MAIL_DIR_;

			if ($dir_mail)
				Mail::Send(
					$mail_id_lang,
					'new_order',
					sprintf(Mail::l('New order : #%d - %s', $mail_id_lang), $order->id, $order->reference),
					$template_vars,
					$merchant_mail,
					null,
					$configuration['PS_SHOP_EMAIL'],
					$configuration['PS_SHOP_NAME'],
					null,
					null,
					$dir_mail,
					null,
					$id_shop
				);
		}
	}
}

on supprime le class_index.php du cache

on édite le template du mail new_order

<!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">
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
		<title>Message de {shop_name}</title>
		
		
		<style>	@media only screen and (max-width: 300px){ 
				body {
					width:218px !important;
					margin:auto !important;
				}
				.table {width:195px !important;margin:auto !important;}
				.logo, .titleblock, .linkbelow, .box, .footer, .space_footer{width:auto !important;display: block !important;}		
				span.title{font-size:20px !important;line-height: 23px !important}
				span.subtitle{font-size: 14px !important;line-height: 18px !important;padding-top:10px !important;display:block !important;}		
				td.box p{font-size: 12px !important;font-weight: bold !important;}
				.table-recap table, .table-recap thead, .table-recap tbody, .table-recap th, .table-recap td, .table-recap tr { 
					display: block !important; 
				}
				.table-recap{width: 200px!important;}
				.table-recap tr td, .conf_body td{text-align:center !important;}	
				.address{display: block !important;margin-bottom: 10px !important;}
				.space_address{display: none !important;}	
			}
	@media only screen and (min-width: 301px) and (max-width: 500px) { 
				body {width:308px!important;margin:auto!important;}
				.table {width:285px!important;margin:auto!important;}	
				.logo, .titleblock, .linkbelow, .box, .footer, .space_footer{width:auto!important;display: block!important;}	
				.table-recap table, .table-recap thead, .table-recap tbody, .table-recap th, .table-recap td, .table-recap tr { 
					display: block !important; 
				}
				.table-recap{width: 295px !important;}
				.table-recap tr td, .conf_body td{text-align:center !important;}
				
			}
	@media only screen and (min-width: 501px) and (max-width: 768px) {
				body {width:478px!important;margin:auto!important;}
				.table {width:450px!important;margin:auto!important;}	
				.logo, .titleblock, .linkbelow, .box, .footer, .space_footer{width:auto!important;display: block!important;}			
			}
	@media only screen and (max-device-width: 480px) { 
				body {width:308px!important;margin:auto!important;}
				.table {width:285px;margin:auto!important;}	
				.logo, .titleblock, .linkbelow, .box, .footer, .space_footer{width:auto!important;display: block!important;}
				
				.table-recap{width: 295px!important;}
				.table-recap tr td, .conf_body td{text-align:center!important;}	
				.address{display: block !important;margin-bottom: 10px !important;}
				.space_address{display: none !important;}	
			}
</style>

	</head>
	<body style="-webkit-text-size-adjust:none;background-color:#fff;width:650px;font-family:Open-sans, sans-serif;color:#555454;font-size:13px;line-height:18px;margin:auto" >
<table class="table table-mail" style="width: 100%; margin-top: 10px; -moz-box-shadow: 0 0 5px #afafaf; -webkit-box-shadow: 0 0 5px #afafaf; -o-box-shadow: 0 0 5px #afafaf; box-shadow: 0 0 5px #afafaf; filter: progid:DXImageTransform.Microsoft.Shadow(color=#afafaf,Direction=134,Strength=5);">
<tbody>
<tr>
<td class="space" style="width: 20px; padding: 7px 0;"> </td>
<td align="center" style="padding: 7px 0;">
<table class="table" bgcolor="#ffffff" style="width: 100%;">
<tbody>
<tr>
<td align="center" class="logo" style="border-bottom: 4px solid #333333; padding: 7px 0;"><a title="{shop_name}" href="{shop_url}" style="color: #337ff1;"> <img src="{shop_logo}" alt="{shop_name}" /> </a></td>
</tr>
<tr>
<td align="center" class="titleblock" style="padding: 7px 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <span class="title" style="font-weight: 500; font-size: 28px; text-transform: uppercase; line-height: 33px;">Bravo !</span> </span></td>
</tr>
<tr>
<td class="linkbelow" style="padding: 7px 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <span>Une nouvelle commande a été passée sur votre boutique {shop_name} par ce client : {firstname} {lastname} ({email})</span> </span></td>
</tr>
<tr>
<td class="space_footer" style="padding: 0!important;"> </td>
</tr>
<tr>
<td class="box" colspan="3" style="border: 1px solid #D6D4D4; background-color: #f8f8f8; padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td width="10" style="padding: 7px 0;"> </td>
<td style="padding: 7px 0;">
<p data-html-only="1" style="border-bottom: 1px solid #D6D4D4; margin: 3px 0 7px; text-transform: uppercase; font-weight: 500; font-size: 18px; padding-bottom: 10px;">Détails de la commande</p>
<span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"><span style="color: #777;"> <span style="color: #333;"><strong>Commande :</strong></span> {order_name} passée le {date}<br /><br /> <span style="color: #333;"><strong>Paiement :</strong></span> {payment} </span> </span></td>
<td width="10" style="padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="padding: 7px 0;">
<table class="table table-recap" bgcolor="#ffffff" style="width: 100%; border-collapse: collapse;"><!-- Title -->
<thead>
<tr><th style="border: 1px solid #D6D4D4; background-color: #fbfbfb; font-family: Arial; color: #333; font-size: 13px; padding: 10px;">Référence</th><th style="border: 1px solid #D6D4D4; background-color: #fbfbfb; font-family: Arial; color: #333; font-size: 13px; padding: 10px;">Référence Fournisseur</th><th style="border: 1px solid #D6D4D4; background-color: #fbfbfb; font-family: Arial; color: #333; font-size: 13px; padding: 10px;">Produit</th><th style="border: 1px solid #D6D4D4; background-color: #fbfbfb; font-family: Arial; color: #333; font-size: 13px; padding: 10px;">Prix unitaire</th><th style="border: 1px solid #D6D4D4; background-color: #fbfbfb; font-family: Arial; color: #333; font-size: 13px; padding: 10px;">Quantité</th><th style="border: 1px solid #D6D4D4; background-color: #fbfbfb; font-family: Arial; color: #333; font-size: 13px; padding: 10px;">Prix total</th></tr>
</thead>
<tbody>
<tr>
<td colspan="6" style="border: 1px solid #D6D4D4; color: #777; padding: 7px 0;">  {items}</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>Produits</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" align="right" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> {total_products} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>Réductions</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> {total_discounts} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>Paquet cadeau</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> {total_wrapping} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>Livraison</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> {total_shipping} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>TVA totale</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> {total_tax_paid} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>Total payé</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" class="total_amount" style="color: #333; padding: 0; font-size: 21px; font-weight: 500; font-family: Open-sans, sans-serif;"><span size="4" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: large;"> {total_paid} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="box" colspan="3" style="border: 1px solid #D6D4D4; background-color: #f8f8f8; padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td width="10" style="padding: 7px 0;"> </td>
<td style="padding: 7px 0;">
<p data-html-only="1" style="border-bottom: 1px solid #D6D4D4; margin: 3px 0 7px; text-transform: uppercase; font-weight: 500; font-size: 18px; padding-bottom: 10px;">Transporteur :</p>
<span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"><span style="color: #777;"> {carrier} </span> </span></td>
<td width="10" style="padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="space_footer" style="padding: 0!important;"> </td>
</tr>
<tr>
<td style="padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td class="box address" width="310" style="border: 1px solid #D6D4D4; background-color: #f8f8f8; padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td width="10" style="padding: 7px 0;"> </td>
<td style="padding: 7px 0;">
<p data-html-only="1" style="border-bottom: 1px solid #D6D4D4; margin: 3px 0 7px; text-transform: uppercase; font-weight: 500; font-size: 18px; padding-bottom: 10px;">Adresse de livraison</p>
<span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"><span style="color: #777;"> {delivery_block_html} </span> </span></td>
<td width="10" style="padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td width="20" class="space_address" style="padding: 7px 0;"> </td>
<td class="box address" width="310" style="border: 1px solid #D6D4D4; background-color: #f8f8f8; padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td width="10" style="padding: 7px 0;"> </td>
<td style="padding: 7px 0;">
<p data-html-only="1" style="border-bottom: 1px solid #D6D4D4; margin: 3px 0 7px; text-transform: uppercase; font-weight: 500; font-size: 18px; padding-bottom: 10px;">Adresse de facturation</p>
<span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"><span style="color: #777;"> {invoice_block_html} </span> </span></td>
<td width="10" style="padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="space_footer" style="padding: 0!important;"> </td>
</tr>
<tr>
<td class="box" colspan="3" style="border: 1px solid #D6D4D4; background-color: #f8f8f8; padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td width="10" style="padding: 7px 0;"> </td>
<td style="padding: 7px 0;">
<p data-html-only="1" style="border-bottom: 1px solid #D6D4D4; margin: 3px 0 7px; text-transform: uppercase; font-weight: 500; font-size: 18px; padding-bottom: 10px;">Message du client :</p>
<span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"><span style="color: #777;"> {message} </span> </span></td>
<td width="10" style="padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="space_footer" style="padding: 0!important;"> </td>
</tr>
<tr>
<td class="footer" style="border-top: 4px solid #333333; padding: 7px 0;"><span><a href="{shop_url}" style="color: #337ff1;">{shop_name}</a> réalisé avec <a href="http://www.prestashop.com/" style="color: #337ff1;">PrestaShop™</a></span></td>
</tr>
</tbody>
</table>
</td>
<td class="space" style="width: 20px; padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</body>
</html>

Cordialement

Share this post


Link to post
Share on other sites

Bonjour Alexandre,

merci d'avoir pris le temps de me répondre mais j'ai une erreur:

Parse error: syntax error, unexpected 'class' (T_CLASS)in: override\modules\mailalerts\mailalerts.php on line 21

En vous remerciant.

Tchupa.

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More