Достаточно часто возникает необходимость добавить какое-то из свойств заказа в письмо менеджеру. Например, у нас была следующая задача.
При оформлении заказа клиент может прикрепить файл с реквизитами для выставления счета. Требуется, чтобы этот файл приходил менеджеру в письме.
Итак, что нужно сделать.
- Создаем непосредственно свойство заказа (Магазин - Настройки - Свойства заказа - Список свойств). Создаем свойство типа "Файл".
- Добавляем код в файл init.php
<?
AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
$arOrder = CSaleOrder::GetByID($orderID);
$order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
while ($arProps = $order_props->Fetch()){
//Реквизиты
if ($arProps['ORDER_PROPS_ID']==20){ //20 - это id созданного свойства
if($arProps['VALUE']){
$url = 'https://www.sitename.ru'.CFile::GetPath($arProps['VALUE']).'; //подставьте свой адрес сайта
$info = 'Реквизиты для выставления счета: <a href="'.$url.'">Открыть</a>';
}
}
}
$arFields["INFO"] = $info;
}
?>
AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
$arOrder = CSaleOrder::GetByID($orderID);
$order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
while ($arProps = $order_props->Fetch()){
//Реквизиты
if ($arProps['ORDER_PROPS_ID']==20){ //20 - это id созданного свойства
if($arProps['VALUE']){
$url = 'https://www.sitename.ru'.CFile::GetPath($arProps['VALUE']).'; //подставьте свой адрес сайта
$info = 'Реквизиты для выставления счета: <a href="'.$url.'">Открыть</a>';
}
}
}
$arFields["INFO"] = $info;
}
?>
Мы перехватываем событие отправки письма и добавляем в него нужное нам свойство. Вот, собственно, и все.
3. Добавляем в почтовый шаблон письма #INFO#