• Гость в разделе 1С-Битрикс все ссылки на модули, шаблоны и т.д. помещаем под хайд не менее 150 лайков.
  • Обязательно ознакомьтесь с правилами форума!

Инструкция Вывод картинок в почтовых шаблонах через ORDER_LIST

Делюсь скриптом, который будет выводить в любых почтовых шаблонах, где применяется ORDER_LIST, картинки к товарам.
Скрипт очень древний, но всё еще работает. Проверено, как на стандартном битриксе, так и на шаблоне Аспро: Максимум.
К сожалению картинки будет выводить только к простым товарам, к торговым предложениям, нужно скрипт дописывать.
Если кто-то сможет адаптировать скрипт под "тп", прошу поделиться в этой теме.
Я его использую с дефолтными почтовыми шаблонами от битрикса, кастомизируя их под свои формы.

Установка: добавить данный скрипт в init.php (bitrix\php_interface\ или может быть в local\php_interface)

Код:
AddEventHandler('sale', 'OnOrderNewSendEmail', array('CSendOrderTable', 'OnOrderNewSendEmailHandler'));
class CSendOrderTable {
   public static function OnOrderNewSendEmailHandler($ID, &$eventName, &$arFields) {
      if ($ID>0 && CModule::IncludeModule('iblock')) {
         $arFields['ORDER_LIST'] = '<table cellpadding="5" cellspacing="5">';
         $rsBasket = CSaleBasket::GetList(array(), array('ORDER_ID' => $ID));
         while ($arBasket = $rsBasket->GetNext()) {
            $arPicture = false;
            if ($arBasket['MODULE'] == 'catalog') {
               if ($arProduct = CIBlockElement::GetByID($arBasket['PRODUCT_ID'])->Fetch()) {
                  if ($arProduct['PREVIEW_PICTURE'] > 0) {
                     $fileID = $arProduct['PREVIEW_PICTURE'];
                  } elseif ($arProduct['DETAIL_PICTURE'] > 0) {
                     $fileID = $arProduct['DETAIL_PICTURE'];
                  } else {
                     $fileID = 0;
                  }
                  $arPicture = CFile::ResizeImageGet($fileID, array('width' => 90, 'height' => 110));
                  $arPicture['SIZE'] = getimagesize($_SERVER['DOCUMENT_ROOT'].$arPicture['src']);
               }
            }
            $arFields['ORDER_LIST'] .= '<tr valign="top">'
                                 . '<td>'.($arPicture ? '<img src="http://'.$GLOBALS['SERVER_NAME'].(str_replace(array('+', ' '), '%20', $arPicture['src'])).'" width="'.$arPicture['SIZE'][0].'" height="'.$arPicture['SIZE'][1].'" alt="">' : '').'</td>'
                                 . '<td>'.$arBasket['NAME'].'</td>'
                                 . '<td style="white-space: nowrap">'.(int)$arBasket['QUANTITY'].' шт.</td>'
                                 . '<td style="white-space: nowrap">'.SaleFormatCurrency($arBasket['PRICE'], $arBasket['CURRENCY']).'</td>'
                              . '</tr>';
         }
         $arFields['ORDER_LIST'] .= '</table>';
      }
   }
}

 

Создайте аккаунт или войдите, чтобы комментировать

Вы должны быть участником, чтобы оставлять комментарии

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизация

Уже есть аккаунт? Авторизуйтесь.

Сверху Снизу