Пример реализации:
Получить объект корзины текущего пользователя:
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(
\Bitrix\Sale\Fuser::getId(),
\Bitrix\Main\Context::getCurrent()->getSite()
);
Получить список всех товаров в корзине:
$basketItems = $basket->getBasketItems();
Проверить наличие товара в корзине по его ID:
$productId = 123; // ID или артикул товара
$productExistsInBasket = false; // переменная для дальнейшей работы по умолчанию false
foreach ($basketItems as $basketItem) { // пройдемся по товарам
if ($basketItem->getProductId() == $productId) { // если есть совпадение по ID
$productExistsInBasket = true; // установим проверочную переменную в true
break; // закончим перебор
}
}
if ($productExistsInBasket) {
echo "Товар есть в корзине";
} else {
echo "Товара нет в корзине";
}
Заключение
В этой статье мы рассмотрели, как проверить наличие товара в корзине на 1С-Битрикс по его ID с помощью API D7. Мы использовали метод getExistsItem
класса Basket
для поиска товара в корзине. Этот метод позволяет легко проверить наличие товара в корзине и выполнить нужные действия в зависимости от результата поиска.