Очень часто "хочется" вывести не просто "тупо" перечень товара а с информацией для покупателя сколько по какой цене и сумме
Для подключения данной "функции" предлагается скрипт который нужно вставить
в 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; } } |