С помощью правила работы с корзиной настроено для товара подарки. В зависимости от кол-ва положенного товара в корзину свой подарок.
Допустим для 10ед - Подарок 1, для 15ед. - Подарок 2
если положить в корзину больше 16ед товаров, возвращает оба подарка, как получить только 1 подарок с максимальным кол-вом положенных едениц $collections = $ar->getCollectionsByBasket(
\Bitrix\Sale\Basket::loadItemsForFUser(\Bitrix\Sale\Fuser::getId(), SITE_ID)
);
foreach($collections as $collection)
{