Битрикс кнопка очистить корзину

В компонентах битрикса нет такой важной кнопки как очистить корзину, точнее она есть но не везде. Как добавить эту кнопку в свой шаблон?

Как добавить кнопку очистить корзину в битриксе

Рассмотрим на примере компонента sale.basket.basket файла template.php.
Ваш шаблон может отличаться от примера. Код который нам понадобится для кнопки:

<form action="" method="POST">
	<button type="submit" class="clear-cart" name="BasketClear">Очистить корзину</button>
</form>

<?
if (isset($_POST["BasketClear"]) && CModule::IncludeModule("sale")) {
	CSaleBasket::DeleteAll(CSaleBasket::GetBasketUserID());
	header("Location: ".$_SERVER['REQUEST_URI']);
}
?>

Чтобы сбросить $_POST используем header(«Location: «.$_SERVER[‘REQUEST_URI’]).
Внимание! Добавляйте код так, чтобы у вас не получилась «форма в форме», приблизительно вот так:

<form method="post" action="<?=POST_FORM_ACTION_URI?>" name="basket_form" id="basket_form">
	<div id="basket_form_container">
		<div class="bx_ordercart">
			<?
			include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/basket_items.php");
			?>
		</div>
	</div>
	<input type="hidden" name="BasketOrder" value="BasketOrder" />
</form>

<form action="" method="POST">
	<button type="submit" class="clear-cart" name="BasketClear">Очистить корзину</button>
</form>

<?
if (isset($_POST["BasketClear"]) && CModule::IncludeModule("sale")) {
	CSaleBasket::DeleteAll(CSaleBasket::GetBasketUserID());
	header("Location: ".$_SERVER['REQUEST_URI']);
}
?>

В таком варианте записи у вас не будет конфликта. Одна из возможных ошибок — не будет работать кнопка «Оформить заказ», поэтому будьте внимательны и проверяйте весь функционал в корзине.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *