Вот, какие ключи предусмотрены в системе для почтового события по смене статуса:
$arFields = Array(
"ORDER_ID" => (...),
"ORDER_DATE" => (...),
"ORDER_STATUS" => (...),
"EMAIL" => (...),
"ORDER_DESCRIPTION" => (...),
"TEXT" => "",
"SALE_EMAIL" => (...)
);
Среди них нет данных по пользователю, соответственно сделать в лоб (
прописав в шаблонах почтовых типов ключ #ORDER_USER#) не получится.
Однако, при отправке почтового уведомления непосредственно про смену статуса среди прочих срабатывает событие
OnOrderStatusSendEmail, которому одним из параметров передаются поля — указатель на
$arFields
:
foreach(GetModuleEvents("sale", "OnOrderStatusSendEmail", true) as $arEvent)
if (ExecuteModuleEventEx($arEvent, Array($ID, &$eventName, &$arFields, $arOrder["STATUS_ID"]))===false)
$bSend = false;
Вы можете подписаться на это событие и например поступить так:
1. Добавляете в почтовый шаблон статуса ключ
#ORDER_USER#
2. При реакции на событие формируете нужное значение для
#ORDER_USER# и дополняете ним
$arFields
Либо при перехвате события отправить свою версию почтового типа, из функции-реакции вернуть
false и тогда пользователю уйдёт только письмо, сформированное вами.