Использование файлов Cookie
Мы используем файлы cookie, разработанные нашими специалистами и третьими лицами, для анализа событий на нашем веб-сайте. Продолжая просмотр страниц нашего сайта, вы принимаете условия его использования. Более подробные сведения смотрите в Политике конфиденциальности.
Корзина
Ваша корзина пуста
Выберите в каталоге интересующий товар и нажмите кнопку "В корзину"
Отложенные товары
Отложенных товаров нет
Выберите в каталоге интересующий товар и нажмите кнопку "В избранное"
Заказать звонок
Компания Компания
ул. Курчатова 9 (БЦ МАГНЕТОН)
Войти
Готовый интернет-магазин на 1С-Битрикс
+7 (812)467-34-77
+7 (812)467-34-77
ул. Курчатова 9 (БЦ МАГНЕТОН)
с пн-пт 11:00-18:00 (уточняйте) сб-вс Выходные дни В не рабочее время забрать заказы можно по договоренности. т. +79110204387
Заказать звонок
Телефоны
+7 (812)467-34-77
Склад (север)

RSS
Изменение перечня или таблицы заказа NEW_ORDER, SALE_NEW_ORDER - Добавление красивой таблицы товаров количества цены и суммы
 
Очень часто "хочется" вывести не просто "тупо" перечень товара а с информацией для покупателя сколько по какой цене и сумме

Для подключения данной "функции" предлагается скрипт который нужно вставить

в 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; 
} 
}
Читают тему