Здравствуйте, коллеги!
После обновления 18.1.3 непонятно работает Add2BasketByProductID.
Для определённых товаров нужно добавить в корзину ещё один заранее известный товар.
На событии OnBeforeBasketAdd выполняю методом Add2BasketByProductID добавление товара.
AddEventHandler("sale", "OnBeforeBasketAdd", Array("CSaleHandlers","OnBeforeBasketAddHandler") );
class CSaleHandlers{
function OnBeforeBasketAddHandler(&$arFields) {
$arID = array(896,897,898,899,900,901,902,903,904,906,1457,1458);
if( in_array($arFields["PRODUCT_ID"], $arID) ){
$pos = Add2BasketByProductID( 1027, 2, array(), array() );
AddMessage2Log('$pos = '.print_r($pos, true),'');
}
}
}
В результате получаю в $pos код позиции товара в корзине, то есть метод отработал, ошибки нет. Но товара в корзине нет.
В случае, если товар с PRODUCT_ID = 1027 уже есть в корзине, то метод успешно добавляет ему указанное количество 2шт.