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

Задача: пользователи магазина могу наполнять корзины, но не доходить до оформления заказа. Такие корзины считаются брошенными. Но, пользователь может вернуться к оформлению через несколько дней и некоторые товары (ранее добавленные в корзину) могут быть сняты с продажи. Однако, такую корзину все равно можно оформить. Нужно автоматически удалить не доступные товары из корзины.
 
Тоже самое на 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();
Изменено: Михаил Базаров - 12.12.2024 12:19:19
 
По хорошему товар надо оставить, но пометить, что сейчас нет в наличии. Чтобы покупатель видел всю картину целиком, и мог сам удалить товар при необходимости. Ведь позже товар может поступить к продаже.
 
По хорошему да. Но заметка в качестве отправной точки, можно не удалять а переложить в отложенные или сделать отдельной надстройкой в "сейчас нет в наличии"
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Блог-note: заметки разработчика

Заполнить свойство инфоблока ценой из торгового каталога

Если вам по какой-то причине нужно скопировать цену товара в свойство этого же инфоблока. Например, для вывода старой це...

Картинка торгового предложения вместо иконки цвета, в выборе SKU

Задача: вместо не информативных иконок цветов нужно вывести детальную картинку торгового предложения. Если картинки у пр...

Основные функции вывода в шаблонах Битрикс

Знаю, что все их знают. Но иногда не бывает лишним собрать все самое используемое в одну кучку. Ведь у каждого бывают мо...

Уникальная СЕО информация для каждого торгового предложения в каталоге 1С-Битрикс

Задача: реализовать уникальную мета-информацию для каждого SKU в каталоге. У каждого ТП должны быть свои: заголовок h1, ...

Как добавить режим редактирования элементов в собственном компоненте Битрикс

Задача: добавить режим редактирования и удаления элементов в собственном компоненте.

Открытие мобильного приложения Apache Cordova по ссылке

Достаточно часто нужно реализовывать открытие мобильного приложения по ссылке. Например: при отправке ссылки на электоро...

Установка вебсервера на Apple Silicon (нативный ARM стек), оптимизированный для 1С-Битрикс.

Появилась задачка, установить стек MAMP (macOS, Apache, MYSQL, PHP) на рабочий ноутбук с процессором Apple Silicon M1. В...

Кастомизация компонента восстановления пароля bitrix:system.auth.forgotpasswd

Достаточно часто спрашивают как кастомизировать компонент восстановления пароля пользователя. Типовая задача, это измени...

Получить все поля раздела, включая пользовательские, в section.php

Если нужно получить какие-то данные о текущем разделе, которых нет в изначальном массиве, можно воспользоваться методом ...