Задача: если в корзину добавлены товары с определенным свойством, нужно удалить из корзины, все другие товары- предупредив пользователя.
Удалить товары из корзины, если есть определенные товары.
Вопросы и ответы по 1С-Битрикс, разборы реальных задач и обсуждение заметок блога. Задайте вопрос или помогите другим — все сообщения проходят модерацию.
|
Михаил Базаров: 16.07.2022 01:00:00
Удалить товары из корзины, если есть определенные товары.
Задача: если в корзину добавлены товары с определенным свойством, нужно удалить из корзины, все другие товары- предупредив пользователя. |
|
Михаил Базаров: 12.08.2022 04:00:00
Улучшение
Что бы не удалялись товары при обновлении формы заказа, если в ней нет нужных товаров. Плюс, не обязательно делать свойство добавляемым в корзину, делаем простой проход по элементам инфоблока. Задача. Если в корзину добавлены товары со свойством "'Это генератор купона" (ETO_GENERATOR_KUPONA), надо удалить все другие товары из корзины.
Пояснение: - Создаем два массива, с товарами которые купоны и товарми которые не купоны ($arCuponsGoods и $arNotCuponsGoods) - Если $arCuponsGoods не пустой, то создаем новый массив ($arrForDelItems) со списком кандидатов на удаление. - Если $arrForDelItems не пустой, запускаем foreach с удалением записи корзины CSaleBasket::Delete($del);. Как генерировать скидочные купоны по информации заказа, можно посмотреть тут https://camouf.ru/blog-note/13295/ |
|
Наталья: 22.02.2023 08:00:00
Добрый день, благодарю за рабочий код, все четко! Но есть момент.
На странице оформления заказа result_modifier и удаление товаров не отрабатывает при первой загрузке страницы. Если страницу перезагрузить, тогда отработает. Пробовала и предложенный вариант удаления данных:
и новый на D7, когда мы получаем корзину, удаляем данные, сохраняем
результат одинаковый. В чем может быть ошибка и куда смотреть? Спасибо |
|
Михаил Базаров: 22.02.2023 04:00:00
Затруднительно сказать. result_modifier вызывается перед выполнением шаблона, должен на первом же хите сработать.
Как-то, даже предположить не могу что именно у вас не так. |
Место для вашей рекламы
10 000 ₽ в месяц
Единый баннер, который показывается сквозным образом — сразу на всём форуме и во всех заметках блога. Одно размещение — вся аудитория.
Посмотреть, где будет выводиться: форум заметки блога
Заметки по 1С-Битрикс
-
Не дать купить товара больше, чем находится на определенных складах
Задача: в магазине 20 складов, на всех есть остатки но нужно ограничить покупку товара только остатками на двух складах, не меняя параметр "Доступное ...
-
Получить и вывести пользовательские свойства склада в 1С-Битрикс
Задача: вывести пользовательские свойства в подробном описании склада. При этом, есть и множественные и одиночные поля.
-
Удаление недоступных для заказа товаров из корзины
Задача: пользователи магазина могу наполнять корзины, но не доходить до оформления заказа. Такие корзины считаются брошенными. Но, пользователь может ...
-
Отфильтровать товары бренда и вывести по разделам каталога
Задача: на странице бренда, который выводится компонентом новостей, нужно показать все товары этого бренда из каталога. При этом, товары нужно вывест...
-
Как запретить покупку более одного товара в 1С-Битрикс
Иногда бизнес-логика проекта требует ограничить пользователя покупкой ровно одного товара. Сохранив удобство для пользователя и менеджера по отбработк...
-
Вывести общее количество товаров в шаблоне корзины 1С-Битрикс
Задача: вывести общее количество товаров в корзине (именно количество единиц товара, а не позиций). При этом данные должны обновляться на лет...