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

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

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

Рассмотрим на примере компонента 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

Пишите, отвечу на любые вопросы.
E-mail: dmitriyribka@gmail.com

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

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