Выдано 110639 лицензий

How To: Кнопка очистки корзины

В 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 (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();
    }
}