В компонентах битрикса нет такой важной кнопки как очистить корзину, точнее она есть но не везде. Как добавить эту кнопку в свой шаблон?
Как добавить кнопку очистить корзину в битриксе
Рассмотрим на примере компонента 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']); } ?>
В таком варианте записи у вас не будет конфликта. Одна из возможных ошибок – не будет работать кнопка “Оформить заказ”, поэтому будьте внимательны и проверяйте весь функционал в корзине.