В XSL-шаблон добавляете кнопку очистки корзины с передачей GET-параметра deleteAll, например:
<input name="deleteAll" value="Очистить" type="submit" class="button" />
или
<a href="?deleteAll" class="button">Очистить</a>
Работа с корзиной осуществляется с использованием контроллера Shop_Cart_Controller
, получение товаров, добавленных в корзину, осуществляется методом getAll($oShop)
, аргументом передается объект магазина.
При поступлении запроса на очистику выбираем все элементы и удаляем их из корзины пользователя, код размещаем в конец кода настроек типовой динамической страницы корзины перед $Shop_Cart_Controller_Show = new Shop_Cart_Controller_Show($oShop);.
// Очистка корзины
if (!is_null(Core_Array::getRequest('deleteAll')))
{
$oShop_Cart_Controller = Shop_Cart_Controller::instance();
$aCart = $oShop_Cart_Controller->getAll($oShop);
foreach ($aCart as $oShop_Cart)
{
$oShop_Cart_Controller
->clear()
->shop_item_id($oShop_Cart->shop_item_id)
->delete();
}
}