Проверка наличия товара по его ID в корзине 1С-Битрикс D7

Проверка наличия товара по его ID в корзине 1С-Битрикс D7

07.03.2023
786
Рассмотрим, как проверить наличие товара в корзине на 1С-Битрикс по его ID с помощью API D7.

Пример реализации:

Получить объект корзины текущего пользователя:

$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 для поиска товара в корзине. Этот метод позволяет легко проверить наличие товара в корзине и выполнить нужные действия в зависимости от результата поиска.