Перейти к содержанию
alexComposer

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

Рекомендуемые сообщения

Я новичок в опенкарте, реализовал добавление двух подарочных товаров в корзину вместе с добавлением первого платного

if (!$json) {
				$this->cart->add($this->request->post['product_id'], $quantity, $option, $recurring_id);

			$cart_contents = $this->cart->countProducts();
			if ($cart_contents == 1) {
    			$this->cart->add('656', '1');
				$this->cart->add('657', '1');
			}
}

Помогите реализовать удаление этих двух товаров вместе с последним платным из корзины. вот моя попытка (не работает)

if (isset($this->request->post['key'])) {
			$this->cart->remove($this->request->post['key']);

 $cart_contents = $this->cart->countProducts();

		 if (isset($this->request->post['product_id'])) {
			 if ($cart_contents == 3) {
				 $this->cart->remove($this->request->post['product_id']);
    			 $this->cart->remove('656');
				 $this->cart->remove('657');
			 }
		 }

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, alexComposer сказал:

$this->cart->remove('656');

public function remove($cart_id) {
		$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE cart_id = '" . (int)$cart_id . "' AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'");
	}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, fanatic сказал:

public function remove($cart_id) {
		$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE cart_id = '" . (int)$cart_id . "' AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'");
	}

 

 

Думаю можно просто проверять общую стоимость (total), и просто использовать метод clear при нулевом total

Изменено пользователем Pavel666

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
11 часов назад, Pavel666 сказал:

при нулевом total

1. если у подарков, цена 0

2. если в корзине,  нет других товаров 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Вы комментируете как гость. Если у вас есть аккаунт, пожалуйста, войдите
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.