Помощь Как вставить картинки товаров в мейл-оповещении о новом заказе?

Byteman

Мой дом здесь!
Регистрация
18 Мар 2008
Сообщения
484
Реакции
242
Здравствуйте.

Подскажите как вставить картинки товаров в мейл-оповещении о новом заказе в Prestashop 1.7.2.4?

upload_2018-10-3_18-5-53.png

upload_2018-10-3_17-55-38.png
 
@Byteman, не нашли решение?
Тоже хотел бы так сделать..
 
расширением класса Mail чтобы он не только с addImage, но и с embedImage работать мог, в самой Swift библиотеке всё это есть, в Mail работы с этим нет.
делал в 1.6 и 1.5, что в 1.7 без понятия
 
К сожалению, никто не откликнулся за всё время и нет, не нашёл.
А что искать то? Посмотрите как сделано с логотипом и точно также сделайте для превьюшек товаров. Там ничего сложного.
 
Присоединяюсь к вопросу!
Как понять какой тег отвечает за главное изображение товара?
Так же параллельно хотелось бы вот что уточнить: хотел отредактировать стандартный шаблон письма, который приходит клиенту при вписывании номера отслеживания и добавить туда информацию о продукте, но простое добавление тега {products} как это в шаблоне Для просмотра ссылки Войди или Зарегистрируйся ни к чему не привели. Где я ошибся? Может быть инфа о продукте выводится только в таблицу?
 
картинка в письмо админу вставляется так (в PS 1.7:(

/modules/ps_emailalerts/ps_emailalerts.php

просто добавляем ещё одну колонку при формировании переменной списка товаров $items_table

должно получиться типа так:
Код:
$items_table .=
                '<tr style="background-color:'.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
<td style="padding:0.6em 0.4em;"><img src="'.$sharing_img.'" height="80" alt="'.$product['product_name'].'" /></td>
                    <td style="padding:0.6em 0.4em;">'.$product['product_reference'].'</td>

а перед этой строкой добавляем php код:

Код:
//webpc
$image_cover_id = Product::getCover($product['product_id']);
if (is_array($image_cover_id) && isset($image_cover_id['id_image'])) {$image_cover_id = (int)$image_cover_id['id_image'];} else {$image_cover_id = 0;}
$sharing_img=$this->context->link->getImageLink('img'.$product['product_id'],$image_cover_id,ImageType::getFormatedName('home'));

и в самом шаблоне письма ещё нужно заголовок колонки добавить там где <th></th>
 
$sharing_img=$this->context->link->getImageLink...)
Большая часть почтовых клиентов блокируют фотки из внешних ссылок в целях безопасности. В лучшем случае одни проги(сайты) спросят "вы точно хотите отобразить изображения с внешнего ресурса" и разрешат открыть, а в худшем просто пустые заглушки будут отрисованы вместо фоток, если по умолчанию параноидальные настройки.
 
расширением класса Mail чтобы он не только с addImage, но и с embedImage работать мог, в самой Swift библиотеке всё это есть, в Mail работы с этим нет.
делал в 1.6 и 1.5, что в 1.7 без понятия
Там все аналогично, Mail же использует Swift. Логотип в письмо в методе Mail::Send() вставляется так:
Код:
...
$message = \Swift_Message::newInstance();
...
if (isset($logo)) {
    $templateVars['{shop_logo}'] = $message->embed(\Swift_Image::fromPath($logo));
}
...
Где $logo - путь к файлу.
Кому реально это интересно и нужно, тот разберется как таким же образом фотки товаров встроить в письмо.
 
гугло почт
Большая часть почтовых клиентов блокируют фотки из внешних ссылок в целях безопасности. В лучшем случае одни проги(сайты) спросят "вы точно хотите отобразить изображения с внешнего ресурса" и разрешат открыть, а в худшем просто пустые заглушки будут отрисованы вместо фоток, если по умолчанию параноидальные настройки.
проверил, гуглопочта и частные почтовые серверы вполне корректно всё сразу отображают
это же письмо админу- разово настроить доверенный источник вполне можно и в клиентах типа mail.ru

но не советую использовать бесплатные ящики для бизнес-целей
 
Назад
Сверху