[QUOTE]Wincert пишет:
#BCC# - E-Mail скрытой копии [/QUOTE]
По идее тут ставите что хотите.
[QUOTE]Wincert пишет:
#ORDER_LIST# - состав заказа [/QUOTE]
Можно примерно так:
[CODE]$retStr = "";
$resBasketItems = CSaleBasket::GetList(
array("NAME" => "ASC", "ID" => "ASC"),
array(
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"LID" => SITE_ID,
"ORDER_ID" => "NULL"),
false, false,
array(
"ID", "CALLBACK_FUNC", "MODULE",
"PRODUCT_ID", "QUANTITY", "DELAY",
"CAN_BUY", "PRICE", "WEIGHT", "NAME",
"DETAIL_PAGE_URL")
);
while ($arItems = $resBasketItems->Fetch())
{
if (strlen($arItems["CALLBACK_FUNC"]) > 0)
{
CSaleBasket::UpdatePrice($arItems["ID"],
$arItems["CALLBACK_FUNC"],
$arItems["MODULE"],
$arItems["PRODUCT_ID"],
$arItems["QUANTITY"]);
$arItems = CSaleBasket::GetByID($arItems["ID"]);
}
if ($arItems["CAN_BUY"]=="Y" && $arItems["DELAY"]=="N")
{
$arStrForMail .= $retStr." - ".$arItems["QUANTITY"]." шт.\n";
}
}[/CODE]
CSaleBasket::UpdatePrice вызывается как колбек функция, если она прописана у элементов. Можно не ломать голову зачем это - это требуется включать при любой обработки корзины.
В $arStrForMail у вас будет список позиций заказа.
Обращаю внимание, что данный цикл надо делать до вызова CSaleBasket::OrderBasket();, потому что потом текущая корзина пользователя опустеет.
[QUOTE]Wincert пишет:
#SALE_EMAIL# - E-Mail отдела продаж [/QUOTE]
COption::GetOptionString("sale", "order_email");
[QUOTE]Wincert пишет:
#DEFAULT_EMAIL_FROM# - E-Mail адрес по умолчанию (устанавливается в настройках) #SITE_NAME# - Название сайта (устанавливается в настройках) #SERVER_NAME# - URL сервера (устанавливается в настройках) [/QUOTE]
Насчет этого не надо греть голову- Битрикс подставит сам.
#BCC# - E-Mail скрытой копии [/QUOTE]
По идее тут ставите что хотите.
[QUOTE]Wincert пишет:
#ORDER_LIST# - состав заказа [/QUOTE]
Можно примерно так:
[CODE]$retStr = "";
$resBasketItems = CSaleBasket::GetList(
array("NAME" => "ASC", "ID" => "ASC"),
array(
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"LID" => SITE_ID,
"ORDER_ID" => "NULL"),
false, false,
array(
"ID", "CALLBACK_FUNC", "MODULE",
"PRODUCT_ID", "QUANTITY", "DELAY",
"CAN_BUY", "PRICE", "WEIGHT", "NAME",
"DETAIL_PAGE_URL")
);
while ($arItems = $resBasketItems->Fetch())
{
if (strlen($arItems["CALLBACK_FUNC"]) > 0)
{
CSaleBasket::UpdatePrice($arItems["ID"],
$arItems["CALLBACK_FUNC"],
$arItems["MODULE"],
$arItems["PRODUCT_ID"],
$arItems["QUANTITY"]);
$arItems = CSaleBasket::GetByID($arItems["ID"]);
}
if ($arItems["CAN_BUY"]=="Y" && $arItems["DELAY"]=="N")
{
$arStrForMail .= $retStr." - ".$arItems["QUANTITY"]." шт.\n";
}
}[/CODE]
CSaleBasket::UpdatePrice вызывается как колбек функция, если она прописана у элементов. Можно не ломать голову зачем это - это требуется включать при любой обработки корзины.
В $arStrForMail у вас будет список позиций заказа.
Обращаю внимание, что данный цикл надо делать до вызова CSaleBasket::OrderBasket();, потому что потом текущая корзина пользователя опустеет.
[QUOTE]Wincert пишет:
#SALE_EMAIL# - E-Mail отдела продаж [/QUOTE]
COption::GetOptionString("sale", "order_email");
[QUOTE]Wincert пишет:
#DEFAULT_EMAIL_FROM# - E-Mail адрес по умолчанию (устанавливается в настройках) #SITE_NAME# - Название сайта (устанавливается в настройках) #SERVER_NAME# - URL сервера (устанавливается в настройках) [/QUOTE]
Насчет этого не надо греть голову- Битрикс подставит сам.