Удаление всех товаров из корзины одним кликом.

  • 7 Ответов
  • 4112 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Chifu

Задача была следующей: очистить корзину (удалить все товары из корзины) одним кликом. Может кому-то пригодится.


Я добавил ссылку в site/component/com_virtuemart/cart/default_pricelist.php
Код: php
<a href="<?=JRoute::_( 'index.php?option=com_virtuemart&view=cart&task=deleteCart' )?>">Clear cart</a>

Функция в site/component/com_virtuemart/controllers/cart.php
Код: php
public function deleteCart() {
$mainframe = JFactory::getApplication();
$cart = VirtueMartCart::getCart();
if ($cart->removeCart()) {
$mainframe->enqueueMessage('All is done.');
} else {
$mainframe->enqueueMessage('Error with deleting.', 'error');
}
$mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart'));
}

Функция в site/component/com_virtuemart/helpers/cart.php
Код: php
public function removeCart() {
if (!empty($this->products)) {
foreach ( $this->products as $key => $val ) {
unset($this->products[$key]);
$this->setCartIntoSession();
}
return true;
}
}

*

seregin

Работает хорошо, правда названия функций пришлось изменить

*

WGT

А вот как добавить такую кнопку в модуле корзины?

*

olf

А вот скажите, - нельзя ли удалять товары прямо из сессии? Постала задача очищать корзину при переключении города, так как цены разные. Пример выше не подходит - только в корзине работает.
PHP код по-русски: если не то {} то это {}

Задача была следующей: очистить корзину (удалить все товары из корзины) одним кликом. Может кому-то пригодится.


Я добавил ссылку в site/component/com_virtuemart/cart/default_pricelist.php
Код: php
<a href="<?=JRoute::_( 'index.php?option=com_virtuemart&view=cart&task=deleteCart' )?>">Clear cart</a>

Функция в site/component/com_virtuemart/controllers/cart.php
Код: php
public function deleteCart() {
$mainframe = JFactory::getApplication();
$cart = VirtueMartCart::getCart();
if ($cart->removeCart()) {
$mainframe->enqueueMessage('All is done.');
} else {
$mainframe->enqueueMessage('Error with deleting.', 'error');
}
$mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart'));
}

Функция в site/component/com_virtuemart/helpers/cart.php
Код: php
public function removeCart() {
if (!empty($this->products)) {
foreach ( $this->products as $key => $val ) {
unset($this->products[$key]);
$this->setCartIntoSession();
}
return true;
}
}

Спасибо!! Работает))

А вот скажите, - нельзя ли удалять товары прямо из сессии? Постала задача очищать корзину при переключении города, так как цены разные. Пример выше не подходит - только в корзине работает.

Код: php
$cart = VirtueMartCart::getCart();
$cart->emptyCart();
Разработка и доработка сайтов (HTML/CSS, JS/jQuery, PHP/MySQL, Joomla/Virtuemart)

*

zzz

На версии 2.0.6 не работает, страница обновляется но корзина не очищается.
« Последнее редактирование: 22.04.2015, 16:33:23 от zzz »

*

zzz

Работает хорошо, правда названия функций пришлось изменить
можно подробности узнать? спасибо.