Телеграм: @camouf_ru Почта: mihail@bazarow.ru Заказать разработку проекта

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

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

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

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

В файл /php_intarface/init.php добавляем:

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

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

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

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

Просмотров: 23216 | Комментариев: 5

Комментарии

Внимание! все сообщения проходят премодерацию. Ваше сообщение появится после проверки
 
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
Загрузить файл
Нажимая кнопку "Отправить", Вы принимаете условия
Политики конфиденциальности и обработки персональных данных
Виталий Кузьмин
Добрый день, Михаил.

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

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

[Error] Call to a member function IsAuthorized() on string (0)
/xxxxxxxxxx/docs/bitrix/modules/sale/general/basket.php:3789
#0: CAllSaleUser::GetID(boolean)     xxxxxxxxxx/docs/bitrix/modules/sale/general/basket.php:1782
#1: CAllSaleBasket::Init(boolean, boolean)      xxxxxxxxxx/docs/bitrix/modules/sale/general/basket.php:1794
#2: CAllSaleBasket::GetBasketUserID()      xxxxxxxxxx/docs/bitrix/php_interface/init.php:100
#3: include_once(string)      xxxxxxxxxx/docs/bitrix/modules/main/include.php:236
и т.д.
Имя Цитировать
Андрей Турланов
Нельзя такой код просто в init.php писать, нужно оборачивать в Handler!
Имя Цитировать
Поделиться страницей Спасибо, это помогает развивать сайт.
Мой youtube канал. C 1-го сентября начнется выход видеокурса по разработке доски объявлений с мобильным приложением.
Перейти на канал Подписывайтесь и будьте в курсе:
Заметки разработчика

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

attention