ID-шники помещаем в срытые инпуты, например, или как будет удобно
if ($_POST['action']=="BUY"){
CSaleBasket::DeleteAll(CSaleBasket::GetBasketUserID(), False); // обнулим корзину на всякий случай
$i = count($_POST); //в этом посте мы получили несколько ID-шников товаров - посчитаем сколько их
CModule::IncludeModule("sale"); // подключим модуль sale
foreach($_POST as $key => $item){
if($key=='action'){break;} // выходим из цикла если кончились товары (зная структуру массива мы можем вовремя остановиться - главное знать следующий за товарами ключ :))
Add2BasketByProductID( $_POST[$key], 1, $arRewriteFields = array(), $arProductParams = false); // забросим товары в корзину - по одному
}
// создадим заказ под гостем
$ORDER_ID = CSaleOrder::Add(array(
"LID" => SITE_ID,
"PERSON_TYPE_ID" => 1,
"PAYED" => "N",
"CANCELED" => "N",
"STATUS_ID" => "N",
"PRICE" => $price,// добавить сумму заказа - можно посчитать заранее
"CURRENCY" => "RUB",
"USER_ID" => 2,
"PAY_SYSTEM_ID" => 2,
"PRICE_DELIVERY" => 0,
"DELIVERY_ID" => 2,
"DISCOUNT_VALUE" => 0,
"TAX_VALUE" => 0.0,
"USER_DESCRIPTION" => "Заказ"
));
// Связываем товары корзины с заказом
CSaleBasket::OrderBasket($ORDER_ID);
}
|