Меню
RSS
Уведомление на почту
 
Добрый день. Настраили свое почтовое уведомление, настроили init.php. При заказе в один клик формируется 2 уведомления для администратора. 1 уведомление как и должно быть Оформлен заказ в 1 клик(id 53) и 2 уведомление В интернет магазин поступил заказ N#ORDER_ID# (id 98). Как сделать так, что бы второе уведомление В интернет магазин поступил заказ N#ORDER_ID# (id 98) не приходило, когда сделан заказ в один клик?

пример init.php
Код
<?
//СОБЫТИЕ

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())
        {
            //ДРОБИМ НА ЗАПЧАСТИ
            $name = $arProps['NAME'];
            $quantity = $arProps['QUANTITY'];
            $price =  $arProps['PRICE'];
            $currency = $arProps['CURRENCY'];
            $summ = $arProps['QUANTITY'] * $arProps['PRICE'];
        }
        //ОБЪЯВЛЯЕМ НОВЫЕ ПЕРМЕННЫЕ ДЛЯ ПИСЬМА
        $arFields["NAME_ITEM"] =  $name;
        $arFields["QUANTITY_ITEM"] =  $quantity;
        $arFields["PRICE_ITEM"] =  $price;
        $arFields["CURRENCY_ITEM"] =  $currency;
        $arFields["SUMM_ITEM"] = $summ;
    }
}

//-- Добавление обработчика события

AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");

//-- Собственно обработчик события

function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
  $arOrder = CSaleOrder::GetByID($orderID);
  
  //-- получаем телефоны и адрес
  $order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
  $phone="";
  $index = ""; 
  $country_name = "";
  $city_name = "";  
  $address = "";
  while ($arProps = $order_props->Fetch())
  {
    if ($arProps["CODE"] == "PHONE")
    {
       $phone = htmlspecialchars($arProps["VALUE"]);
    }
    if ($arProps["CODE"] == "LOCATION")
    {
        $arLocs = CSaleLocation::GetByID($arProps["VALUE"]);
        $country_name =  $arLocs["COUNTRY_NAME_ORIG"];
        $city_name = $arLocs["CITY_NAME_ORIG"];
    }

    if ($arProps["CODE"] == "INDEX")
    {
      $index = $arProps["VALUE"];   
    }

    if ($arProps["CODE"] == "ADDRESS")
    {
      $address = $arProps["VALUE"];
    }
  }

  $full_address = $index.", ".$country_name."-".$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;
  
}

?>
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

Блог-note: заметки разработчика

Изменить размер картинок по ID файла, в 1C-Битрикс

Задача: изменить размер картинок загруженных в элементы инфоблока, для оптимизации их размера и подгонки под содержимое...

Умный фильтр на главной странице Битрикс

Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу магазина на Битрикс. При этом...

Вывести разделы инфоблока в которых находится элемент Битрикс

Если нужно в карточке товара или новости, вывести структуру разделов в котором находится элемент. С одной стороны, это у...

Ссылки для добавления и удаления товара из сравнения в Битрикс

Просто оставляю это здесь, вставка ссылок на добавление и удаление товара из сравнения, если уже добавлен. Чуть позже до...

Получить и вывести все цены товара в 1С-Битрикс

Задача: получить и вывести все цены товара по его ID в каталоге 1С-Битрикс (например, в детальной карточке catalog.e...

Fancybox в стандартном шаблоне детальной карточки товара, 1С-Битрикс, вместо всплывающего окна и лупы.

Задача: заменить работу с изображениями в стандартном или кастомном шаблоне детальной карточки (catalog.element)...

Список новостей с автопрокруткой через overflow:scroll

Простенький javascript позволит сделать автопрокрутку в шаблоне списка новостей. Достаточно актуально для новостных сайт...

Создание локальных уведомлений для приложения на Apache Cordova

Задача состоит в том, чтобы реализовать возможность локальных уведомлений в приложении на Apache Cordova без использован...

Дать пользователю возможность быстро отредактировать материал

На одном из разрабатываемых сайтов, пользователи формируют его контент. После регистрации, становится доступен персональ...