Добавление полей товара в таблицу товаров заказа
В решении появилась возможность вывода полей товара в таблицу содержимого заказа.
Данная возможность по настройке аналогична выводу свойств товара. Для вывода нужного поля в отдельную колонку в настройке добавляем новую колонку, содержимое колонки выбираем = Поле товара и вводим код поля товара.
В качестве поля товара мы можем ввести например 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';
}
}
}
}