[spoiler]
Бросаем этот код в init.php
// Регистрируем обработчик AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails"); //-- Собственно обработчик события function bxModifySaleMails($orderID, &$eventName, &$arFields) { $arOrder = CSaleOrder::GetByID($orderID); //данные по составу заказа $res = CSaleBasket::GetList(array(), array("ORDER_ID" => $orderID)); // ID заказа $sostav='<table style="background-color: f8f8f8; width: 100%;"><tr><th style="padding: 10px;font-weight: bold;font-size: 15px;color: #3d4345;border-bottom: 1px solid #d9d9d9;border-left: 1px solid #d9d9d9;border-top: 1px solid #d9d9d9; width: 60%; background: linear-gradient(to bottom, #fefefe 0%,#e7e7e7 100%);">Наименование</th><th style="padding: 10px; width: 20%; font-weight: bold;font-size: 15px;color: #3d4345;border-bottom: 1px solid #d9d9d9;border-top: 1px solid #d9d9d9; background: linear-gradient(to bottom, #fefefe 0%,#e7e7e7 100%); width: 20%;">Цена</th><th style="padding: 10px;font-weight: bold;font-size: 15px;color: #3d4345;border-top: 1px solid #d9d9d9;border-right: 1px solid #d9d9d9;border-bottom: 1px solid #d9d9d9; background: linear-gradient(to bottom, #fefefe 0%,#e7e7e7 100%);">Количество</th></tr>'; $col=0; $priceplus=0; while ($arItem = $res->Fetch()) { $ress = CIBlockElement::GetProperty($arItem['CATALOG_XML_ID'], $arItem["PRODUCT_ID"], "sort", "asc", array("CODE" => "ARTIKUL")); while ($ob = $ress->GetNext()) {$VALUE_ART = $ob['VALUE'];} $sostav.='<tr style="text-align: center; font-weight: normal;font-size: 14px;"><td style="padding: 10px 5px; border: 1px solid #d9d9d9;text-align: left;">'.$arItem["NAME"].'<br/><span style="color: #ccc;">Код: '.$arItem["PRODUCT_ID"].'</span> <span style="color: #ccc;"> Артикул: '.$VALUE_ART.'</span></td><td style="padding: 10px 5px; border: 1px solid #d9d9d9;">'.number_format($arItem["PRICE"], 0, ',', ' ').' руб.'.'</td><td style="padding: 10px 5px; border: 1px solid #d9d9d9;">'.$arItem["QUANTITY"].' шт.</td></tr>'; $priceplus=$priceplus+$arItem["PRICE"]; $col++; //echo "<pre>", print_r($arItem), "</pre>"; } $sostav.='</table>'; //закончились данные по составу заказа //-- получаем телефоны и адрес (или еще что-нибудь) $order_props = CSaleOrderPropsValue::GetOrderProps($orderID); $EMAIL=""; $phone = ""; $country_name = ""; $city_name = ""; $address = ""; $DELSERVCE = ""; $PROVERKA_VIN = ""; $VIN_NOMER = ""; $NameLast = ""; $Name = ""; while ($arProps = $order_props->Fetch()) { if ($arProps["CODE"] == "PHONE") { $phone = $arProps["VALUE"]; } if ($arProps["CODE"] == "LOCATION") { $arLocs = CSaleLocation::GetByID($arProps["VALUE"], LANGUAGE_ID); $city_name=htmlspecialchars($arLocs["COUNTRY_NAME"]." - ".$arLocs["CITY_NAME"]); } if ($arProps["CODE"] == "EMAIL") { $EMAIL = $arProps["VALUE"]; } if ($arProps["CODE"] == "ADDRESS") { $address = $arProps["VALUE"]; } if ($arProps["CODE"] == "DELSERVCE") { $DELSERVCE = $arProps["VALUE"]; } if ($arProps["CODE"] == "PROVERKA_VIN") { $PROVERKA_VIN = $arProps["VALUE"]; } if ($arProps["CODE"] == "VIN_NOMER") { $VIN_NOMER = $arProps["VALUE"]; } if ($arProps["CODE"] == "Name") { $Name = $arProps["VALUE"]; } if ($arProps["CODE"] == "NameLast") { $NameLast = $arProps["VALUE"]; } } $full_address = $city_name.", ".$address; //-- получаем название службы доставки $arDeliv = CSaleDelivery::GetByID($arOrder["DELIVERY_ID"]); $delivery_name = ""; if ($arDeliv) { $delivery_name = $arDeliv["NAME"]; } //-- получаем название платежной системы $arPaySystem = CSalePaySystem::GetByID($arOrder["PAY_SYSTEM_ID"]); $pay_system_name = ""; if ($arPaySystem) { $pay_system_name = $arPaySystem["NAME"]; } //-- добавляем новые поля в массив результатов - каждое поле это макрос для почтового события $arFields["ORDER_DESCRIPTION"] = $arOrder["USER_DESCRIPTION"]; $arFields["PHONE"] = $phone; $arFields["DELIVERY_NAME"] = $delivery_name; $arFields["PAY_SYSTEM_NAME"] = $pay_system_name; $arFields["FULL_ADDRESS"] = $full_address; $arFields["DELSERVCE"] = $DELSERVCE; $arFields["PROVERKA_VIN"] = $PROVERKA_VIN; $arFields["VIN_NOMER"] = $VIN_NOMER; $arFields["EMAIL"] = $EMAIL; $arFields["NameLast"] = $NameLast; $arFields["Name"] = $Name; } ?> |