Готовые решения для 1С-Битрикс
Карточка решения
База знаний по решению:
Расширенные письма заказов

Все часто задаваемые вопросы по решению: Расширенные письма заказов

Добавление полей товара в таблицу товаров заказа

В решении появилась возможность вывода полей товара в таблицу содержимого заказа.

Данная возможность по настройке аналогична выводу свойств товара. Для вывода нужного поля в отдельную колонку в настройке добавляем новую колонку, содержимое колонки выбираем = Поле товара и вводим код поля товара.

В качестве поля товара мы можем ввести например CATALOG_QUANTITY, CATALOG_STORE_AMOUNT_3 и т.п.

Пример настройки:


Выведем в таблицу количество товара на складе




В письме получим такой результат




Механизм событий: Добавление или изменение макросов в письмах

Внимание:
События это заложенная разработчиком возможность вносить изменения в логику решения без кастомизации (с сохранением обновлений)

Для работы с событиями необходимы базовые навыки программирования. События позволяют сделать подстройку решения под индивидуальные требования сайта, поэтому их реализация не входит в стандартную техническую поддержку решения


Решение поддерживает событие изменения заранее заложенных макросов вставки данных в письма и добавления своих:

AddEventHandler("arturgolubev.orderletters", "modifyOrderLettersFields", "modifyOrderLettersFields", 10); function modifyOrderLettersFields($event, &$arFields){ // $event - символьный код типа почтового отправления, для которого применяется событие // $arFields - массив данных попадающих в письмо $arFields["ORDER_USER"] = 'TEST'; // Пример добавления макроса #ORDER_USER# }

Механизм событий: изменение информации о товарах в заказе

Внимание:
События это заложенная разработчиком возможность вносить изменения в логику решения без кастомизации (с сохранением обновлений)

Для работы с событиями необходимы базовые навыки программирования. События позволяют сделать подстройку решения под индивидуальные требования сайта, поэтому их реализация не входит в стандартную техническую поддержку решения


Решение поддерживает событие изменения данных о позициях корзины отображаемой в письме:

AddEventHandler('arturgolubev.orderletters', "modifyOrderLettersBasket", Array("AgOrderlettersHandlers", "modifyOrderLettersBasket")); class AgOrderlettersHandlers { static function modifyOrderLettersBasket($event, &$basket, $dopInfo){ // $event - почтовое событие // $basket - корзина // $dopInfo - дополнительная информация // простой пример использования - добавляем заглушку для товаров без фото foreach($basket as $k=>$basketItem){ if($basketItem['PRODUCT_ID'] && !$basketItem['IMAGE']){ $basket[$k]["IMAGE"] = '/upload/no-photo.png'; } } } }