Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

как добавить в почтовое сообщение новую переменную?

00 голосов
4
В
"Типы почтовых событий - SALE_NEW_ORDER (новый заказ)"
определены переменные:

#ORDER_ID# - код заказа
#ORDER_DATE# - дата заказа
#ORDER_USER# - заказчик
#PRICE# - сумма заказа
#EMAIL# - E-Mail заказчика
#BCC# - E-Mail скрытой копии
#ORDER_LIST# - состав заказа
#SALE_EMAIL# - E-Mail отдела продаж

При заполнении профиля заказчик указал:
ADDRESS и LOCATION

Как их сделать доступными в этом типе почтовых событий? (простое добавление не работает)
спросил 30 Янв, 14 от Mudak (220 баллов)

4 Ответы

00 голосов
В компоненте добавили эти переменные?
ответил 03 Июнь, 14 от Kiriel (2,010 баллов)
00 голосов
делаю первые несмелые шаги...

В компоненте - ...это куда?
ответил 01 Окт, 14 от Mudak (220 баллов)
00 голосов
bitrix\components\bitrix\sale.order.full\component.php

Код
// mail message
         if (strlen($arResult["ERROR_MESSAGE"]) <= 0)
         {
            $event = new CEvent;

            $strOrderList = "";
            $dbBasketItems = CSaleBasket::GetList(
                  array("NAME" => "ASC"),
                  array("ORDER_ID" => $arResult["ORDER_ID"]),
                  false,
                  false,
                  array("ID", "NAME", "QUANTITY")
               );
            while ($arBasketItems = $dbBasketItems->Fetch())
            {
               $strOrderList .= $arBasketItems["NAME"]." - ".$arBasketItems["QUANTITY"]." ".GetMessage("SALE_QUANTITY_UNIT");
               $strOrderList .= "\n";
            }

            $arFields = Array(
                  "ORDER_ID" => $arResult["ORDER_ID"],
                  "ORDER_DATE" => Date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT", SITE_ID))),
                  "ORDER_USER" => ( (strlen($arResult["PAYER_NAME"]) > 0) ? $arResult["PAYER_NAME"] : $USER->GetFullName() ),
                  "PRICE" => SaleFormatCurrency($totalOrderPrice, $arResult["BASE_LANG_CURRENCY"]),
                  "BCC" => COption::GetOptionString("sale", "order_email", "order@".$SERVER_NAME),
                  "EMAIL" => $arResult["USER_EMAIL"],
                  "ORDER_LIST" => $strOrderList,
                  "SALE_EMAIL" => COption::GetOptionString("sale", "order_email", "order@".$SERVER_NAME)
               );
            $event->Send("SALE_NEW_ORDER", SITE_ID, $arFields);
         }
         if (strlen($arResult["ERROR_MESSAGE"]) <= 0)
         {
            LocalRedirect($arParams["PATH_TO_ORDER"]."?CurrentStep=7&ORDER_ID=".$arResult["ORDER_ID"]);
         }

         if (strlen($arResult["ERROR_MESSAGE"]) > 0)
            $arResult["CurrentStep"] = 5;
      }
   }
}


Вывод данных пользователя: CSaleOrderProps::GetByID
ответил 03 Фев, 15 от Kiriel (2,010 баллов)
00 голосов
большое спасибо!
ответил 16 Май, 15 от Mudak (220 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 23 Фев, 14 от Siomo (100 баллов)
0 голосов
6 ответов
0 голосов
4 ответов