Очень часто "хочется" вывести не просто "тупо" перечень товара а с информацией для покупателя сколько по какой цене и сумме
Для подключения данной "функции" предлагается скрипт который нужно вставить
в init.php
в результате чего появится
переменная: #ORDER_TABLE_ITEMS#
которую уже в свою очередь можно отформатировать нужным образом в файле init.php
В этом варианте таблица целиком вставляется функцией и нужно просто вставить #ORDER_TABLE_ITEMS#
В этом варианте ничего особенно не меняется но создание таблицы вынесено на почтовый шаблон иначе всё поедет , зато вы сможете добавить нужную вам css разметку:
теперь вставка в Html код почтового шаблона будет выглядеть так например:
а код функции соответственно:
Для подключения данной "функции" предлагается скрипт который нужно вставить
в init.php
в результате чего появится
переменная: #ORDER_TABLE_ITEMS#
которую уже в свою очередь можно отформатировать нужным образом в файле init.php
В этом варианте таблица целиком вставляется функцией и нужно просто вставить #ORDER_TABLE_ITEMS#
| Код |
|---|
//#ORDER_TABLE_ITEMS# - выводит в таблице строки заказа <tr><td> о <table> и закрывающем теге нужно подумать самостоятельно в настройках шаблона.
AddEventHandler("sale", "OnOrderNewSendEmail", "ModifyOrderSaleMails");
function ModifyOrderSaleMails($orderID, &$eventName, &$arFields)
{
if(CModule::IncludeModule("sale") && CModule::IncludeModule("iblock"))
{
//СОСТАВ ЗАКАЗА РАЗБИРАЕМ SALE_ORDER НА ЗАПЧАСТИ
$strOrderList = "";
$dbBasketItems = CSaleBasket::GetList(
array("NAME" => "ASC"),
array("ORDER_ID" => $orderID),
false,
false,
array("PRODUCT_ID", "ID", "NAME", "QUANTITY", "PRICE", "CURRENCY")
);
$strCustomOrderList .= '<table cellpadding="10" cellspacing="10" style="border:1px solid #d1d1d1;margin:0 auto" border="1">';
while ($arProps = $dbBasketItems->Fetch())
{
//ПЕРЕМНОЖАЕМ КОЛИЧЕСТВО НА ЦЕНУ
$summ = $arProps['QUANTITY'] * $arProps['PRICE'];
//СОБИРАЕМ В СТРОКУ ТАБЛИЦЫ
$strCustomOrderList .= "<tr><td>".$arProps['NAME']."</td><td>".$arProps['QUANTITY']."</td><td>".$arProps['PRICE']."</td><td>".$arProps['CURRENCY']."</td><td>".$summ."</td><tr>";
}
$strCustomOrderList .= '</table>';
//ОБЪЯВЛЯЕМ ПЕРЕМЕННУЮ ДЛЯ ПИСЬМА
$arFields["ORDER_TABLE_ITEMS"] = $strCustomOrderList;
}
}
|
В этом варианте ничего особенно не меняется но создание таблицы вынесено на почтовый шаблон иначе всё поедет , зато вы сможете добавить нужную вам css разметку:
теперь вставка в Html код почтового шаблона будет выглядеть так например:
| Код |
|---|
<table cellpadding="10" cellspacing="10" style="border:1px solid #d1d1d1;margin:0 auto" border="1"> #ORDER_TABLE_ITEMS# </table> |
а код функции соответственно:
| Код |
|---|
//#ORDER_TABLE_ITEMS# - выводит в таблице строки заказа <tr><td> о <table> и закрывающем теге нужно подумать самостоятельно в настройках шаблона.
AddEventHandler("sale", "OnOrderNewSendEmail", "ModifyOrderSaleMails");
function ModifyOrderSaleMails($orderID, &$eventName, &$arFields)
{
if(CModule::IncludeModule("sale") && CModule::IncludeModule("iblock"))
{
//СОСТАВ ЗАКАЗА РАЗБИРАЕМ SALE_ORDER НА ЗАПЧАСТИ
$strOrderList = "";
$dbBasketItems = CSaleBasket::GetList(
array("NAME" => "ASC"),
array("ORDER_ID" => $orderID),
false,
false,
array("PRODUCT_ID", "ID", "NAME", "QUANTITY", "PRICE", "CURRENCY")
);
while ($arProps = $dbBasketItems->Fetch())
{
//ПЕРЕМНОЖАЕМ КОЛИЧЕСТВО НА ЦЕНУ
$summ = $arProps['QUANTITY'] * $arProps['PRICE'];
//СОБИРАЕМ В СТРОКУ ТАБЛИЦЫ
$strCustomOrderList .= "<tr><td>".$arProps['NAME']."</td><td>".$arProps['QUANTITY']."</td><td>".$arProps['PRICE']."</td><td>".$arProps['CURRENCY']."</td><td>".$summ."</td><tr>";
}
//ОБЪЯВЛЯЕМ ПЕРЕМЕННУЮ ДЛЯ ПИСЬМА
$arFields["ORDER_TABLE_ITEMS"] = $strCustomOrderList;
}
} |