Код <?
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["CODE"] == "PHONE")
{ $phone=htmlspecialchars($arProps["VALUE"]); }
if ($arProps["CODE"] == "FIO")
{ $fio=htmlspecialchars($arProps["VALUE"]); }
if ($arProps["CODE"] == "EMAIL")
{ $email=htmlspecialchars($arProps["VALUE"]); }
if ($arProps["CODE"] == "STREET")
{ $street="јдрес: ".$arProps["VALUE"]; }
if ($arProps["CODE"] == "HOUSE")
{ $home=", д. ".$arProps["VALUE"]; }
if ($arProps["CODE"] == "LOCATION")
{ $city=$arProps["VALUE"]; }
}
CModule::IncludeModule("sale");
$arBasketItems = array();
$dbBasketItems = CSaleBasket::GetList(array(), array("ORDER_ID" => $orderID), false, false, array("*"));
$i = 0; $arFields["NEW_ORDER_LIST"]=""; $total=$total_discount=0;
while ($arItems = $dbBasketItems->Fetch())
{
$i++;
$total+=$arItems["PRICE"]*$arItems["QUANTITY"];
$total_discount+=$arItems["DISCOUNT_PRICE"];
$arFields["NEW_ORDER_LIST"].=
'<tr>
<td style=" border-bottom: 1px solid #ccc;
color: #669;
padding: 9px 8px;
transition: .3s linear;">'.$arItems["ID"].'</td>
<td style=" border-bottom: 1px solid #ccc;
color: #669;
padding: 9px 8px;
transition: .3s linear;">'.$arItems["NAME"].'</td>
<td style=" border-bottom: 1px solid #ccc;
color: #669;
padding: 9px 8px;
transition: .3s linear;">'.$arItems["QUANTITY"].'</td>
<td style=" border-bottom: 1px solid #ccc;
color: #669;
padding: 9px 8px;
transition: .3s linear;">'.SaleFormatCurrency($arItems["PRICE"], "RUB").'</td>
<td style=" border-bottom: 1px solid #ccc;
color: #669;
padding: 9px 8px;
transition: .3s linear;">'.SaleFormatCurrency($arItems["DISCOUNT_PRICE"], "RUB").'</td>
<td style=" border-bottom: 1px solid #ccc;
color: #669;
padding: 9px 8px;
transition: .3s linear;">'.SaleFormatCurrency($arItems["QUANTITY"]*$arItems["PRICE"], "RUB").'</td></tr>';
}
$arFields["TOTAL_ITEMS"] = $i;
$arFields["TOTAL_PRICE"] = $total;
$arFields["TOTAL_DISCOUNT"] = $total_discount;
$arFields["USER_PHONE"] = $phone;
$arFields["USER_FIO"] = $fio;
$arFields["DISCOUNT_VALUE"]= intval($arOrder["DISCOUNT_VALUE"]);
$city=CSaleLocation::GetByID($city, "RU");
$arFields["LOCATION"]=$city["CITY_NAME_LANG"];
$arFields["ADDRESS"].= $street.$home.$flat."<br />";
$new_price=intval($arOrder["PRICE"])-intval($arOrder["SUM_PAID"]);
$arFields["PRICE"]=$new_price." руб";
$arFields["ORDER_DESCRIPTION"] = $arOrder["USER_DESCRIPTION"];
}?>
Когда-то давно необходимо было написать обработчик письма, с целью получения комментария пользователя в теле письма при заказе, теперь необходимо вывести все заказы не просто полями как это приходит через макрос ORDER_LIST, а немного кастомизировать и создать таблицу, но вот почитав
ЭТО принято было усовершенствовать данную обработку, но в итоге я где-то допустил ошибку, поможете? Спасибо.