Здравствуйте. Делаю добавление товаров в корзину. Использую
CSaleBasket::Add($arFields);. Товар добавляется, но как правильно добавить цену товара? делаю так:
CModule::IncludeModule("sale");
CModule::IncludeModule("product");
CModule::IncludeModule("iblock");
$arFilterOffers = array("IBLOCK_TYPE" => "catalog", 'ID' => $id);
$rsOffers = CIBlockElement::GetList(array(),$arFilterOffers, false, false, array("NAME", "CATALOG_GROUP_2", "XML_ID", "EXTERNAL_ID", "DETAIL_PAGE_URL"));
while($Offers = $rsOffers->GetNext()){
$arOffers = $Offers;
}
$dbPrices = CPrice::GetList(
array(),
array("PRODUCT_ID" => $id,"CATALOG_GROUP_ID" => 2),
false,
false,
array()
);
while($price = $dbPrices->Fetch()){
$OffersCost = $price;
}
$arFields = array(
"PRODUCT_ID" => $arOffers["ID"],
"PRODUCT_PRICE_ID" => $OffersCost["ID"],
"PRICE" => $OffersCost["PRICE"],
"CURRENCY" => "RUB",
"QUANTITY" => 1,
"LID" => 's1',
"DELAY" => "N",
"CAN_BUY" => "Y",
"NAME" => $arOffers["NAME"],
"MODULE" => "catalog",
"DETAIL_PAGE_URL" => $arOffers["DETAIL_PAGE_URL"]
);
CSaleBasket::Add($arFields);
В поле
$arFields["PRICE"] могу вставить любую цену. Могу определить цену со скидкой, и добавить ее. Но после добавления товара в корзину, цена будет та, которую я указал, но не будет скидки на товар. Как при добавлении товара в корзину, добавлять и скидку? Скидка создана в битриксе.
Товар в корзине, добавленный через API (Цену передаю именно 36900)Товар в корзине, добавленный через стандартный функционал из каталога.
З.Ы. В методе
CSaleBasket::Add($arFields); есть параметр
PRODUCT_PROVIDER_CLASS, предполагаю надо его как то использовать. Но не понимаю как.