2016-01-04 3 views
0

Я хотел бы добавить имя производителя продукта в электронном письме нового заказа. Сторона клиента и администратора.Prestashop 1.6 добавить фирменный знак производителя в почтовый шаблон

Итак, я попытался отредактировать файл /mails/fr/order_conf_product_list.tpl, чтобы добавить новую ячейку с

{$ продукта [ 'manufacturer_name']}

но без каких-либо шансов.

Я уже пытался severals советы с форума, как следующее, но клетка осталась пустой ...

https://www.prestash...turer-reference

Любая помощь будет оценить.

спасибо.

+0

Привет Адриен, вы протестировали решение? – timactive

ответ

2

Чтобы реализовать эту операцию, необходимо, прежде чем добавить переменную производителя

Для теста вы можете редактировать файл [your_shop] /classes/PaymentModule.php (но лучшим решением является использование переопределение):

1 - Держите объект производитель

2 - добавить объект производитель в product_var_tpl

foreach ($order->product_list as $product) { 
$manufacturer = new Manufacturer((int)$product['id_manufacturer']); 
**** 
    $product_var_tpl = array(
'manufacturer' => $manufacturer, 
'reference' => $product['reference'], 
'name' => $product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : ''), 
'unit_price' => Tools::displayPrice($product_price, $this->context->currency, false), 
'price' => Tools::displayPrice($product_price * $product['quantity'], $this->context->currency, false), 
'quantity' => $product['quantity'], 
'customization' => array() 
         ); 

}

А в вашем файле /mails/fr/order_conf_product_list.tpl

вы можете использовать объект «производителя»

{$product['manufacturer']->name} 
+0

Привет, спасибо! Я попробовал ваше решение. Это не помогло, но привело меня к решению моей проблемы. – JazZ

+0

Фактически вы должны указать $ product ['manufacturer'] -> name, я отредактировал свой ответ ;-). – timactive

+0

Спасибо @timactive. – JazZ

0

Решение, чтобы получить имя производителя на почту клиента был, как @ timactive написал, чтобы отредактировать PaymentModule.php.

Таким образом, чтобы получить имя производителя в почт клиентов:

PaymentModule.php:

   foreach ($order->product_list as $product) { 

       $manufacturer = new Manufacturer((int)$product['id_manufacturer']); 

       $product_var_tpl = array(
        'reference' => $product['reference'], 
        'name' => $product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : ''), 
        'unit_price' => Tools::displayPrice($product_price, $this->context->currency, false), 
        'price' => Tools::displayPrice($product_price * $product['quantity'], $this->context->currency, false), 
        'quantity' => $product['quantity'], 
        'customization' => array(), 
        'manufacturer' => $manufacturer->name 
       ); 

И чем в order_conf_product_list.html, называют объект продукт, как это:

  {$product['manufacturer']} 

Это часть решения, потому что я хочу добавить имя производителя в новую почту заказа администратора. Имя

Добавить производителя на администратора нового порядка почта:

Чтобы завершить это, я должен был изменить модуль MailAlert так:

В mailalert.PHP, в функции "hookActionValidateOrder":

foreach ($products as $key => $product) 
    { 
     $manufacturer = new Manufacturer($product['id_manufacturer'], $id_lang); 
     $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;">'.$manufacturer->name.'</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>'; 

И теперь, чтобы создать в ячейку, перейдите к mailalert/почты/FR/New-order.html и добавьте эту строку вокруг линии 114:

   <th style="border:1px solid #D6D4D4;background-color:#fbfbfb;font-family:Arial;color:#333;font-size:13px;padding:10px">Marque</th> 
Смежные вопросы