Добрый день, уважаемые знатоки! Я новичек сильно не пинайте.
В почту не приходит состав заказа, хотя в почтовых шаблонах есть #ORDER_LIST#.
Полчаса рылся и наткнулся на файл у себя в www/ajax/order/add.php
<?php
define('STOP_STATISTICS', true);
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
CModule::IncludeModule('catalog');
CModule::IncludeModule('sale');
//регистрация пользователя
if ($USER->IsAuthorized()){
$user = $USER->GetID();
}
else{
$pass = crc32(time());
$USER->Register($_REQUEST['email'], $_REQUEST['name'], "", $pass, $pass, $_REQUEST['email']);
$user = $USER->GetID();
$USER->Authorize($user);
CEvent::Send("NEWREG", SITE_ID, array(
"EMAIL" => $_REQUEST['email'],
"LOGIN" => $_REQUEST['email'],
"PASSWORD" => $pass,
));
}
//Получение корзины
$fuser = CSaleBasket::GetBasketUserID();
$dbBaket = CSaleBasket::GetList(
array("NAME" => "ASC"),
array("FUSER_ID" => $fuser, "LID" => SITE_ID, "ORDER_ID" => "NULL")
);
$arItems = array();
while ($arBasket = $dbBaket->GetNext()){
if ($arBasket["DELAY"]=="N" && $arBasket["CAN_BUY"]=="Y")
{
$arBasket["PRICE_FORMATED"] = SaleFormatCurrency($arBasket["PRICE"], $arBasket["CURRENCY"]);
$tmp[$arBasket["ID"]] = $arBasket;
}
}
//Стоимость заказа
if (!empty($tmp) && CModule::IncludeModule("currency"))
{
$baseCurrency = CCurrency::GetBaseCurrency();
foreach ($tmp as $arBasketItem)
{
if ($arBasketItem["CURRENCY"] != $baseCurrency)
$arBasket["PRICE"] = CCurrencyRates::ConvertCurrency($arBasketItem["PRICE"], $arBasketItem["CURRENCY"], $baseCurrency);
if ($arBasketItem["DISCOUNT_PRICE"] > 0)
$totalSumDiscount += $arBasketItem["QUANTITY"] * $arBasketItem["DISCOUNT_PRICE"];
else
$totalSumDiscount += $arBasketItem["QUANTITY"] * $arBasketItem["PRICE"];
}
}
//Создание заказа
$arFields = array(
"LID" => SITE_ID,
"PERSON_TYPE_ID" => 1,
"PAYED" => "N",
"CANCELED" => "N",
"STATUS_ID" => "N",
"PRICE" => $totalSumDiscount,
"CURRENCY" => "RUB",
"USER_ID" => $user,
"PAY_SYSTEM_ID" => 1,
"DELIVERY_ID" => 1,
"USER_DESCRIPTION" => $_REQUEST['comment']
);
$id = CSaleOrder::Add($arFields);
CSaleBasket::OrderBasket($id, $fuser, SITE_ID);
//свойства заказа
$props = [
'1' => 'name',
'2' => 'company',
'3' => 'phone',
'4' => 'email',
'5' => 'address',
];
for ($i = 1; $i < 6; $i++){
$arFields = array(
"ORDER_ID" => $id,
"NAME" => 'Имя',
"ORDER_PROPS_ID" => $i,
"VALUE" => $_REQUEST[$props[$i]]
);
CSaleOrderPropsValue::Add($arFields);
}
//E-mail для оповещений
$res = CSite::GetList($by="sort", $order="desc", array('ACTIVE'=>'Y'));
if($arSite = $res->Fetch()){
$defaultEmail = $arSite['EMAIL'];
}
//оповещения для покупателя
CEvent::Send("SALE_NEW_ORDER", SITE_ID, array(
"ORDER_ID" => $id,
"ORDER_DATE" => FormatDate('j F Y', time()),
"ORDER_USER" => htmlspecialchars($_REQUEST['name']),
"PRICE" => $totalSumDiscount,
"EMAIL" => $_REQUEST['email'],
"SALE_EMAIL" => $defaultEmail,
"SITE_NAME" => '',
"SERVER_NAME" => '',
));
//оповещения для администрации
CEvent::Send("NEWORDER", SITE_ID, array(
"ORDER_ID" => $id,
"ORDER_DATE" => FormatDate('j F Y', time()),
"NAME" => htmlspecialchars($_REQUEST['name']),
"COMPANY" => htmlspecialchars($_REQUEST['company']),
"PRICE" => $totalSumDiscount,
"EMAIL" => $_REQUEST['email'],
"SALE_EMAIL" => $defaultEmail,
"PHONE" => htmlspecialchars($_REQUEST['phone']),
"ADDRESS" => htmlspecialchars($_REQUEST['address']),
"COMMENT" => htmlspecialchars($_REQUEST['comment']),
));
?>
Почтовый шаблон:
Пользователь оставил новый заказ на сайте
Номер заказа: #ORDER_ID#
Дата: #ORDER_DATE#
Имя: #NAME#
Компания: #COMPANY#
Телефон: #PHONE#
E-mail: #EMAIL#
Адрес: #ADDRESS#
Комментарий: #COMMENT#
Состав заказа: #ORDER_LIST#
Как я понял все поля почтовых шаблонов у меня берутся из него. Вопрос как надо изменить файлик, так чтоб приходил состав заказа?)