На карточке товара есть свойства, эти свойства летят с товаром в корзину, далее заказ...
В сети полно примеров, как в письма добавить поля заказа, типа доставки или адреса...
А как добавить свойства товара не понятно, например: Рубашка Мужская (размер XXL), в письмо летит только название, без размера.
Единственный пример, который нашел на Хабре, так и не заработал, либо я не правильно им воспользовался, поскольку не понятно :
https://habr.com/sandbox/70044/
Он пишет
Т.к CSaleBasket::GetList свойства не выдает, пришлось использовать CIBlockElement::GetById.
Я стал использовать
$rsElem = CIBlockElement::GetById($arItem["PRODUCT_ID"]);
$arElem = $rsElem->GetNextElement();
$arProps = $arElem->GetProperties();
Но получаю массив всех свойств товара, а не массив свойств именно выбранных пользователем.
Вот мой код на данный момент:
// Письмо пользователю при оформлении нового заказа
AddEventHandler("sale", "OnOrderAdd", Array("mail_new", "OnOrderAdd_mail"));
class mail_new
{
function OnOrderAdd_mail($ID, $val)
{
// Получаем имя и мэйл пользователя
$rsUser = CUser::GetByID($val["USER_ID"]);
$arUser = $rsUser->Fetch();
$arUser_name = $arUser["LAST_NAME"]." ".$arUser["NAME"];
$arUser = $arUser["EMAIL"];
// Получаем Содержимое заказа
$dbBasketItems = CSaleBasket::GetList(
array(
"NAME" => "ASC",
"ID" => "ASC"
),
array(
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"LID" => SITE_ID,
"DELAY" => "N",
"CAN_BUY" => "Y",
"ORDER_ID" => "NULL"
),
false,
false,
array()
);
$tim = date("d.m.Y");
$zak = "Корзина заказа:<br /><table border='1'>";
$zak = $zak."<tr><td align='center'>Товар</td><td align='center'>Цена</td><td align='center'>Кол-во</td><td align='center'>Сумма</td></tr>";
while ($arItem = $dbBasketItems->Fetch())
{$number = $arItem["PRICE"];
$num = number_format($number,0,'.','');
$st = (int)$arItem["QUANTITY"]*$arItem["PRICE"];
$kol_vo = (int)$arItem["QUANTITY"];
$zak = $zak."<tr><td align='left'>"."<a href='".$arItem["DETAIL_PAGE_URL"]."'>".$arItem["NAME"]."</a></td><td align='left'>".$num."</td><td align='left'>".$kol_vo."</td><td align='left'>".$st."</td></tr>";
}
$arDeliv = CSaleDelivery::GetByID($val["DELIVERY_ID"]);
$zak = $zak."<tr><td align='left' colspan='3'><b>Доставка: </b>".$arDeliv["NAME"]."</td><td align='left'>".$val["PRICE_DELIVERY"]."</td></tr>";
$zak = $zak."</table>";
$arEventFields = array(
"ORDER_DATE" => $tim,
"ORDER_ID" => $ID,
"SOSTAV" => $zak,
"ORDER_USER" => $arUser_name,
"EMAIL" => $arUser,
"BCC" => $arUser,
"PRICE" => (int)$val["PRICE"]." руб",
"SALE_EMAIL" => "info@domain.ru",
);
CEvent::SendImmediate("SALE_NEW_ORDER", s1, $arEventFields, "N", 25);
}
}