Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Удаление из корзины товаров, недоступных для заказа

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Удаление из корзины товаров, недоступных для заказа

Задача: пользователи магазина могу наполнять корзины, но не доходить до оформления заказа. Такие корзины считаются брошенными. Но, пользователь может вернуться к оформлению через несколько дней и некоторые товары (ранее добавленные в корзину) могут быть сняты с продажи. Однако, такую корзину все равно можно оформить. Нужно автоматически удалить не доступные товары из корзины.
Тоже самое на D7
Код
$fUserId = \Bitrix\Sale\Fuser::getId();
$basket = Basket::loadItemsForFUser($fUserId, \Bitrix\Main\Context::getCurrent()->getSite());

foreach ($arResult['BASKET_ITEM_RENDER_DATA'] as $basketItem) {
    if ($basketItem['NOT_AVAILABLE'] == 1) {
        $item = $basket->getItemById($basketItem['ID']);
        if ($item) {
            $item->delete();
        }
    }
}
$basket->save();
По хорошему товар надо оставить, но пометить, что сейчас нет в наличии. Чтобы покупатель видел всю картину целиком, и мог сам удалить товар при необходимости. Ведь позже товар может поступить к продаже.
По хорошему да. Но заметка в качестве отправной точки, можно не удалять а переложить в отложенные или сделать отдельной надстройкой в "сейчас нет в наличии"
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить файлы
 

Блог-note Заметки по 1С-Битрикс