необходимо ввести в меню корзины кнопку для полной её очистки. На пример клиент набил множество товара в корзину, и через некоторое время передумал и хочет набить её новым товаром, сейчас ему приходится удалять каждый товар вручную, а у него этого товара может быть больше 100 единиц. Вот и появилась необходимость для введения кнопки очистить корзину.
module/cart.tpl добавить кнопку,через языки название проводить не буду, так что перекодировать файл в utf-8 без bom <a href="#" onclick="$('#cart').load('index.php?route=module/cart&remove_all' + ' #cart > *'); return false;">Отчистить корзину</a> catalog/controller/module/cart.php после $this->language->load('module/cart');добавить if (isset($this->request->get['remove_all'])) { $this->cart->clear(); }вроде всё, баги не тестил, по идеи не должно быть. делал на примере удаления товара из коризны, т.ч кто нить может сказать что это ' #cart > *' и зачем оно в load ?
Всё отлично работает, но есть ещё вопрос, эта модификация добавляет кнопку (а точнее ссылку) "Очистить корзину" только в выпадающем меню, можно сделать что бы еще эта кнопка появилась в меню "ПРОСМОТРА КОРЗИНЫ" На скриншотах показал пример.
По идеи для "сделать что бы еще эта кнопка появилась в меню "ПРОСМОТРА КОРЗИНЫ" checkout/cart.tpl добавить кнопку,через языки название проводить не буду, так что перекодировать файл в utf-8 без bom <a href="#" onclick="$('#cart').load('index.php?route=checkout/cart&remove_all' + ' #cart > *'); return false;">Отчистить корзину</a> catalog/controller/checkout/cart.php после $this->language->load('checkout/cart');добавить if (isset($this->request->get['remove_all'])) { $this->cart->clear(); }
не пробовал, но кажется хватит только той же самой кнопки в checkout/cart.tpl <a href="#" onclick="$('#cart').load('index.php?route=module/cart&remove_all' + ' #cart > *'); return false;">Отчистить корзину</a>не прокатит, нужно редиректиться куда нить: <a href="#" onclick="$('#cart').load('index.php?route=module/cart&remove_all' + ' #cart > *'); window.location.assign('/');">Отчистить корзину</a>или обновить эту же location.reload(true)
Вот совсем запуталась, расскажите пожалуйста по пунктам, как добавить в просмотре корзине кнопку "очистить корзину"?
при нажатии на Очистить корзину появляется ли предупреждение об удалении товара?, вдруг нечаянно нажмут
Попробуйте так: В файле catalog/controller/checkout/cart.php после строки Код: $this->data['button_checkout'] = $this->language->get('button_checkout'); добавьте Код: $this->data['button_clear'] = $this->language->get('button_clear'); после строки Код: $this->language->load('checkout/cart'); добавьте Код: if (isset($this->request->get['remove_all'])) { $this->cart->clear(); } В catalog/language/russian/checkout/cart.php добавьте Код: $_['button_clear'] = 'Очистить корзину'; В catalog/view/theme/ваша_тема/template/checkout/cart.tpl после Код: <div class="buttons"> <div class="right"><a href="<?php echo $checkout; ?>" class="button"><?php echo $button_checkout; ?></a></div> добавьте Код: <div class="right"><a class="button" onclick="$('#cart').load('index.php?route=checkout/cart&remove_all'); window.location.assign('index.php?route=checkout/cart&remove_all');"><?php echo $button_clear; ?></a></div> Должно получиться так: