Телеграм: @camouf_ru Почта: mihail@bazarow.ru

Очистка корзины в 1С-Битрикс одним нажатием

Просмотров: 27753

В стандартной корзине Битрикс не хватает кнопки для полной очистки корзины одним нажатием. Требуется это довольно редко, однако изредка все же необходимо добавить этот функционал. Расскажу как

Удалить все в корзине Битрикс

На одном из созданных сайтов, по производству и оптовой поставке железобетонных изделий, была замечена тенденция: достаточно часто изделия добавляются в заказу для расчета общего веса набранных товаров. После чего пользователь начинает удалять позиции корзины по одной, а "накидать" в заказ может и 30-50 позиций. Для заботы о посетителях решил добавить кнопку очистки корзины одним нажатием.

В файл /ВАШ_ШАБЛОН_КОРЗИНЫ/result_modifier.php добавляем:


<?
if ($_POST["BasketDelete"] and CModule::IncludeModule("sale"))
{ CSaleBasket::DeleteAll(CSaleBasket::GetBasketUserID());
} ?>

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


<form action="" method="POST">
  <input type="submit" value="Очистить корзину" name="BasketDelete">
</form>

И оформляем, как того требует дизайн вашего сайта.

Очистка корзины с помощью js

Более удобный и адекватный способ, сделать это с помощью js/jQuery. К тому же: произойдет без перезагрузки страницы и у пользователя останется шанс восстановить нужные ему позиции.

Очистка корзины битрикс одним нажатием

<script>
    $('.clear_cart').click(function () {
        $('.basket-item-actions-remove').click();
    });
</script>
<button class="clear_cart">Очистить</button>

Смысл в том, что при нажатии на кнопку с классом clear_cart мы иммитируем нажатие сразу на все кнопки удаления товара, которые есть в корзине. В типовом шаблоне корзины эта кнопка имеет класс basket-item-actions-remove, само собой если изменили ее - подставляйте свой класс.

Сам скрипт, можно закинуть в /ВАШ_ШАБЛОН_КОРЗИНЫ/script.js что бы не болтался прямо в шаблоне.

Виталий Кузьмин 24.07.2017
Добрый день, Михаил.

Такой вопрос, связанный с удалением из корзины.

Имеется товар  с торговыми предложениями:
<?echo $arOffer["ID"]?> - Отвечает за добавление выбранного торг. предложения в корзину.
А иначе есть код, который отвечает за удаление торг. предложения из корзины?
tos995 21.11.2017
можно узнать полный путь где лежит /php_intarface/init.php , а то я уже в шаблоне папку создал и поискал по всем папкам ( нашел - воткнул код) - не работает. =(
Михаил Базаров 21.11.2017
Цитата
tos995 написал:
init.php
Вот так поразвернутее будет ответ)
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2916
@stanislav_web 15.06.2022
Не забудьте обернуть input в form с методом POST:<form action="" method="POST">
   <input type="submit" value="Очистить корзину" name="BasketDelete">
</form>
Михаил Базаров 15.06.2022
Цитата
@stanislav_web написал:
Не забудьте обернуть input в form с методом POST:<form action="" method="POST">
   <input type="submit" value="Очистить корзину" name="BasketDelete">
</form>

Да, спасибо- добавил в заметку.
Константин 05.07.2022
Большое спасибо за Ваши решения!
Очень помогают!

Записная книжка разработчика

Примерно с 2013-го года пишу заметки по разработке сайтов на Битрикс.
Вы можете задавать уточняющие вопросы в комментариях- отвечаю или дополняю заметки по возможности.

Вывести разделы инфоблока в которых находится элемент Битрикс Просмотров: 16018 Если нужно в карточке товара или новости, вывести структуру разделов в котором находится э... Вывести все разделы в которых находится элемент инфоблока Просмотров: 13027 Если нужно вывести все разделы, со всей доступной информацией о них, внутри элемента инфоб... Добавить свойство в административную форму заказа Просмотров: 2809 Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку фо... Получить и вывести пользовательские свойства склада в 1С-Битрикс Просмотров: 1322 Задача: вывести пользовательские свойства в подробном описании склада. При этом, есть и мн... Регистрация пользователя в определенную группу сайта на Битрикс Просмотров: 22094 Достаточно часто требуется регистрировать пользователя в определенную группу, в зависимост... Показать только один тип цены в каталоге Битрикс Просмотров: 13742 Достаточно часто, при создании сайта на битрикс, можно столкнуться с такой проблемой: на с... Информация о заказах и содержимое корзины текущего пользователя. Просмотров: 11776 В процессе разработки сайта могут понадобиться рецепты приведенные ниже. Использовать можн... Картинка торгового предложения вместо иконки цвета, в выборе SKU Просмотров: 270 Задача: вместо не информативных иконок цветов нужно вывести детальную картинку торгового п... Данные о заказе текущего пользователя Просмотров: 12901 Иногда нужно получить данные о заказе текущего пользователя. Не через компонент, а непосре... Вывести имя пользователя добавившего элемент инфоблока в Битрикс Просмотров: 16040 Иногда, необходимо вывести имя пользователя добавившего элемент инфоблока. Например, автор... Минимальная сумма заказа в корзине и оформлении заказа в 1С-Битрикс Просмотров: 8484 В этой заметке добавим возможность установки минимальной суммы заказа, в новом шаблоне кор... Сортировка элементов по индексу сортировки значений типа список Просмотров: 10545 Внутри любого компонента есть заранее заложенные поля для сортировки элементов. МОжно сорт... Увидеть файл заказов который передаст Битрикс в 1С Просмотров: 23306 Для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей,... Открытие мобильного приложения Apache Cordova по ссылке Просмотров: 683 Достаточно часто нужно реализовывать открытие мобильного приложения по ссылке. Например: п... Пункты меню из разделов инфоблока Битрикс Просмотров: 90688 В принципе это стандартная возможность системы управления битрикс, но почему-то часто спра... Фиксированная корзина с обновлением, без перезагрузки страницы. Просмотров: 17499 Иногда нужно сделать так, чтобы корзина в интернет магазине, созданном на Битрикс, была по... Вывести товары из того же раздела в карточке товара Просмотров: 17947 Немножко топорный, но все же вполне действенный способ по выводу внутри подробной карточки... Ajax форма обратной связи, реализация в битрикс Просмотров: 7577 Иногда, на сайте требуется создать форму обратной связи, которая будет писать все данные в... Как вывести картинки к разделам на базе _ext меню Просмотров: 7085 Просто для эстетической красоты, нужно вывести в меню разделов сайта картинки или иконки. ... Denwer c PHP 7.1.8 и MYSQL 5.7 оптимизированный для Битрикс Просмотров: 29517 В последнее время, все чаще приходиться работать на Windows, хотя и не люблю эту ОС- с точ...