У меня не выводится обязательное поле Адрес/Отделение почты* - в свойствах сейчас указан мнемонический код: ADDRESS (пробовал и другие для проверки: LOCATION, FULL_ADDRESS)
Также добавил обязательно поле "Откуда узнали о нашей компании" с вариантами выбора. Мнемонический код: FIND_COMPANY. Пробовал ставить код, как посоветовали в сообщении выше и другие варианты по разным пример, но в большинстве случаев выдает ошибку с ссылкой на строку в файле init.php
Вот содержимое файла init.php. Подскажите, пожалуйста, как правильно его оформить, чтобы значения выводились в почтовом уведомлении.
Код |
---|
<?
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt");
AddEventHandler("sale", "OnOrderAdd", "OnOrderAddHandler");
function OnOrderAddHandler($id, $arFields) {
require_once($_SERVER["DOCUMENT_ROOT"]."/integration_order/add_new_order.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/integration_order/init.php");
$data = addOrder($id, $arFields);
if (1 != $data)
{
$result = $api->sendRequest('special/InsertOrder', ApekApi::METHOD_POST, $data);
AddMessage2Log('response = '.print_r($result, true).'');
}
}
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["FIND_COMPANY_NAME"] = $findcompany_name;
$arFields["FULL_ADDRESS"] = $fullAddress;
}
?> |