Jump to content
Sign in to follow this  
zrishat

Удалить товар из корзины и ссылка на сам товар

Recommended Posts

<?php
$products = $this->cart->getProducts();
print_r ($products);
?>
В футере делаю вывод товаров, которые в корзине. Но тут нет $product['href']; и $product['remove'];

Array
(
[65:YToxOntpOjIyNztzOjI6IjE3Ijt9] => Array
(
[key] => 65:YToxOntpOjIyNztzOjI6IjE3Ijt9
[product_id] => 65
[name] => Товар 1
[model] => 0000001
[shipping] => 1
[image] => data/goods_test/blaiz2.png
[option] => Array
(
[0] => Array
(
[product_option_id] => 227
[product_option_value_id] => 17
[option_id] => 13
[option_value_id] => 49
[name] => Размер
[option_value] => 40
[type] => select
[quantity] => 0
[subtract] => 0
[price] => 0.0000
[price_prefix] => +
[points] => 0
[points_prefix] => +
[weight] => 0.00000000
[weight_prefix] => +
)

)

[download] => Array
(
)

[quantity] => 1
[minimum] => 1
[subtract] => 1
[stock] => 1
[price] => 500
[total] => 500
[reward] => 0
[points] => 0
[tax_class_id] => 0
[weight] => 0
[weight_class_id] => 1
[length] => 0.00000000
[width] => 0.00000000
[height] => 0.00000000
[length_class_id] => 1
)

[66:YToxOntpOjIyODtzOjI6IjE4Ijt9] => Array
(
[key] => 66:YToxOntpOjIyODtzOjI6IjE4Ijt9
[product_id] => 66
[name] => Товар 2
[model] => 0000002
[shipping] => 1
[image] => data/goods_test/dress4.png
[option] => Array
(
[0] => Array
(
[product_option_id] => 228
[product_option_value_id] => 18
[option_id] => 13
[option_value_id] => 50
[name] => Размер
[option_value] => 42
[type] => select
[quantity] => 0
[subtract] => 0
[price] => 0.0000
[price_prefix] => +
[points] => 0
[points_prefix] => +
[weight] => 0.00000000
[weight_prefix] => +
)

)

[download] => Array
(
)

[quantity] => 1
[minimum] => 1
[subtract] => 0
[stock] => 1
[price] => 600
[total] => 600
[reward] => 0
[points] => 0
[tax_class_id] => 0
[weight] => 0
[weight_class_id] => 1
[length] => 0.00000000
[width] => 0.00000000
[height] => 0.00000000
[length_class_id] => 1
)

)


Подскажите куда копать?

Share this post


Link to post
Share on other sites

$product['href'] можете прописать под:


'href'     => $this->url->link('product/product', 'product_id=' . $product['product_id'])

а вот функция javascript для удаления по онклику:

function removeCart(key) {
	$.ajax({
		url: 'index.php?route=checkout/cart',
		type: 'get',
		data: 'remove=' + key,
		dataType: 'html',
		success: function(json) {
		
		window.location='index.php?route=checkout/cart';// или Ваша страница для перезагрузки			
		}
	});
}

то есть вешаете какой то рисунок\кнопку\ссылку на событие: 

<a onclick="removeCart('<?php echo $product['key']; ?>');" >

Ну и про всяк случай, гляньте, есть ли по адресу контроллера checkout/cart : код обработки:

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

Share this post


Link to post
Share on other sites

Спасибо огромное! Отлично, все супер! Код обработки глянул, начинаю понимать что откуда берется.

 

Когда выполняю удаление товара, можно ли в ajax в success вызвать как-то $this->cart->update для обновления корзины, чтобы не перезагружать страницу? Или это идет от контроллера checkout/cart и нифига не сработает, т.к. там вконце самом ридирект.

// Update
if (!empty($this->request->post['quantity'])) {
	foreach ($this->request->post['quantity'] as $key => $value) {
		$this->cart->update($key, $value);
	}
	
	unset($this->session->data['shipping_method']);
	unset($this->session->data['shipping_methods']);
	unset($this->session->data['payment_method']);
	unset($this->session->data['payment_methods']); 
	unset($this->session->data['reward']);
	
	$this->redirect($this->url->link('checkout/cart'));  			
}

Share this post


Link to post
Share on other sites

При success вы можете поставить любое условие, я делал на перезагрузку, так как лень было писать много кода на обновление и джейсон...

Если вы например хотите, что бы просто в "шапке" миникорзины тотал_айтемс менялось, то вместо редиректа поставьте такой код:

$('#cart-total').html(json['total']);

ну и дальше уже зависит от фантазии...

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By Otche94
      Opencart 3 Варианты Доставки + автоматическое скрытие не нужных
      Скачать/Купить дополнение Варианты Доставки для Opencart 3.
      Версия 1.0.2
      Имеет отдельный вариант доставки почтой с указанием фиксированной стоимости.
      Имеет отдельный вариант экспресс доставки с указанием стоимости.
      Остальное смотрите ниже.
      Добавляет несколько вариантов ( платная доставка, почтовая доставка за счет заказчика и за счет отправителя ).
       
      Варианты почты со скринов работают только в связке, то есть если вы выключите платную доставку почтой то и бесплатная работать не будет, чтобы работала просто поменяйте нижний или верхний лимит. включайте сразу все варианты из модуля, добавлена платная доставка почтой с указанием конкретной стоимости, и добавлением ее в счет.
       
      Убирает не подходящие варианты, то есть если у вас для бесплатной доставки указана минимальная сумма 100 руб, то бесплатная доставка будет скрыта, а при цене заказа выше 100 руб, будет скрыта платная и появится бесплатная.

      Бесплатная скрыта, потому что она работает от 40 руб, показана только платная и самовывоз, почта тоже закрыта, потому что у нее тоже есть минимальный лимит.
      На скрине ниже меняется сумма и становится доступной бесплатная доставка , и почтовая за счет заказчика.
       

       
      Почтовая доставка работает по той же схеме, есть минимальное значение ( чтобы не пришлось бегать на почту и отправлять заказы по 2$ ) , например 15$ , от этой суммы будет доступна почтовая доставка за счет заказчика, еще есть бесплатная почтовая доставка, она появится от 50$ , платная естественно скроется.

      То есть здесь доставка за счет отправителя , на скрине ниже меняется сумма, и теперь доступен вариант бесплатной доставки почтой.

       
      Варианты сами выключают их платные или бесплатные аналоги ( в зависимости от суммы заказа ).
      Работает со всеми шаблонами и модулями.
      .
      Установка стандартная - через установку расширений в админке.
      Настройка
      Модули - доставка - Фиксированная стоимость доставки ( это платная доставка , там указываете стоимость доставки курьером , работает от любой суммы , до тех пор пока не включится бесплатная, если вы не планируете доставлять мелкие заказы то просто выключите этот способ ).
      Модули - доставка - Бесплатная доставка ( здесь нужно указать минимальную сумму бесплатной доставки , она отключит платную доставку если сумма будет достаточной для бесплатной )
      Модули - доставка - Доставка Почтой ( указываем минимальную сумму , при которой вы готовы отправить товар почтой или другими службами доставки )
      Модули - доставка - Бесплатная доставка почтой ( указываем сумму для бесплатной почтовой отправки , то есть за ваш счет , если вам не нужна эта функция то просто отключите , она выключает платную почтовую доставку , если сумма достаточна для бесплатной ).
      Модуль не к чему не привязан, можно использовать на куче доменов.
       
      Добавил Otche94 Добавлено 27.04.2020 Категория Доставки Системные требования Нету Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет Старая цена 300  
    • By Otche94
      Варианты Доставки для Opencart 3.
      Версия 1.0.2
      Имеет отдельный вариант доставки почтой с указанием фиксированной стоимости.
      Имеет отдельный вариант экспресс доставки с указанием стоимости.
      Остальное смотрите ниже.
      Добавляет несколько вариантов ( платная доставка, почтовая доставка за счет заказчика и за счет отправителя ).
       
      Варианты почты со скринов работают только в связке, то есть если вы выключите платную доставку почтой то и бесплатная работать не будет, чтобы работала просто поменяйте нижний или верхний лимит. включайте сразу все варианты из модуля, добавлена платная доставка почтой с указанием конкретной стоимости, и добавлением ее в счет.
       
      Убирает не подходящие варианты, то есть если у вас для бесплатной доставки указана минимальная сумма 100 руб, то бесплатная доставка будет скрыта, а при цене заказа выше 100 руб, будет скрыта платная и появится бесплатная.

      Бесплатная скрыта, потому что она работает от 40 руб, показана только платная и самовывоз, почта тоже закрыта, потому что у нее тоже есть минимальный лимит.
      На скрине ниже меняется сумма и становится доступной бесплатная доставка , и почтовая за счет заказчика.
       

       
      Почтовая доставка работает по той же схеме, есть минимальное значение ( чтобы не пришлось бегать на почту и отправлять заказы по 2$ ) , например 15$ , от этой суммы будет доступна почтовая доставка за счет заказчика, еще есть бесплатная почтовая доставка, она появится от 50$ , платная естественно скроется.

      То есть здесь доставка за счет отправителя , на скрине ниже меняется сумма, и теперь доступен вариант бесплатной доставки почтой.

       
      Варианты сами выключают их платные или бесплатные аналоги ( в зависимости от суммы заказа ).
      Работает со всеми шаблонами и модулями.
      .
      Установка стандартная - через установку расширений в админке.
      Настройка
      Модули - доставка - Фиксированная стоимость доставки ( это платная доставка , там указываете стоимость доставки курьером , работает от любой суммы , до тех пор пока не включится бесплатная, если вы не планируете доставлять мелкие заказы то просто выключите этот способ ).
      Модули - доставка - Бесплатная доставка ( здесь нужно указать минимальную сумму бесплатной доставки , она отключит платную доставку если сумма будет достаточной для бесплатной )
      Модули - доставка - Доставка Почтой ( указываем минимальную сумму , при которой вы готовы отправить товар почтой или другими службами доставки )
      Модули - доставка - Бесплатная доставка почтой ( указываем сумму для бесплатной почтовой отправки , то есть за ваш счет , если вам не нужна эта функция то просто отключите , она выключает платную почтовую доставку , если сумма достаточна для бесплатной ).
      Модуль не к чему не привязан, можно использовать на куче доменов.
       
    • By Upgraide
      Добрый день уважаемые знатоки.
      Прошу подскажите как сделать сортировку товаров в корзине: сверху дорогие, а снизу дешевые (нужно для модуля со скидкой).
       
    • By sv2109
      Больше 10 тысяч загрузок модулей от sv2109!
      Это PRO вторая версия модуля, который имеет уже больше 200 покупок!
       
      Что делает этот модуль?
      Дает возможность создавать и красиво показывать в карточке товара, каталоге и других страницах (а также с версии PRO на отдельной странице с акциями)  всевозможные акции. За основу в создании этого модуля был взят опыт больших интернет магазинов.
       
      Зачем?
      Акции - это очень мощный инструмент продаж с помощью которого при правильном подходе можно в разы увеличить прибыть магазина, так как акция дает сильный стимул купить именно этот товар и именно сейчас.
      Не поэтому ли практически все большие интернет магазины очень активно используют этот инструмент? Зайдите на любой такой магазин и увидите огромное количество акций, скидок, подарков, распродаж итд.
       
      Что может быть акцией?
      Товар-подарок. Пример: "Купи ноутбук и получи мышку в подарок", "купи смартфон и получи чехол в подарок", "купи фотоаппарат и получи карту памяти в подарок" итд. При добавлении товара в корзину автоматически в корзину добавляется товар-подарок с нулевой ценой. Неизвестный подарок, приз. Пример: "Купите этот товар и получите ценный подарок от нашего магазина". Сам подарок показывается на сайте в виде красивой коробки, что внутри - сюрприз. Суперцена. Показывает что у товара очень привлекательная цена. Скидка на другой товар. Пример: "Купи фотоаппарат и получи скидку 20% на покупку объектива". Розыгрыш призов. Пример: "Среди купивших офисный стул с 1 по 31 декабря будет разыгрываться ноутбук". Бесплатная доставка. Новинка. Показывает, что товар новый. Скидка на товар. "Только 2 ноутбука в 1 руки!" - реальная акция в Розетке Что угодно  
      Некоторые советы по акциям
      обязательно указывайте дату окончания акции! Она должна быть минимальной, а не через 2 месяца. Это дополнительно будет стимулировать покупателя совершить покупку именно сейчас, а не уйти с мыслью вернуться через 2 месяца, то есть никогда. указывайте, что количество подарков или акционных товаров ограничено. Это дополнительно будет стимулировать покупателя купить товар именно сейчас, потому что уже через час подарка может не быть. создавайте реально полезные для ваших покупателей акции, а не банальные 5% при 50% наценке. Иногда полезно даже ничего не заработать на этой первой продаже но получить лояльного, постоянного покупателя, который принесет прибыть в будущем. постоянно экспериментируйте, придумывайте новые, оригинальные акции. постоянно использует этот очень мощный инструмент продаж, а не только перед праздниками. В планах дальнейшее развитие этого модуля.
       
      Новое в версии 3.0 PRO
       
      Основные изменения:
      Акции модуля связаны с акциями самого движка. Раньше они работали отдельно, каждый сам по себе и было неудобно, теперь они максимально, на сколько это было возможно реализовать, связал эти акции в одно целое, это позволило:
      - создавать акцию модуля для акции движка (акции или скидки). В таком случае если в товаре есть акция или скидка то на его странице (а так же в категории и на странице акций движка) будет отображаться блок модуля с названием акции, описанием, картинкой, всплывающим окном, списком товаров итд. В этом блоке также отображается таймер обратного отсчета, данные для таймера берутся не из настроек акции модуля, а из настроек акции (или скидки) товара
      - отображать эту акцию на странице всех акций модуля (об этом ниже)
      - есть возможность заменить страницу акций движка страницей акций модуля
      - есть возможность на странице и в модуле акций движка отображать также товары из акций модуля вместе с блоком модуля Отдельная страница со списком всех акций модуля и акциями движка.  Отдельная страница для каждой акции, в которой отображается своя картинка, полное описание акции, таймер и список всех товаров. Ссылка на эту страницу есть во всплывающем окне в блоке акции на странице товара, категории итд.  Авто обновление периода акции. Акция не будет заканчиваться, ее время будет обновляться автоматически по окончанию срока. Работает также для акций и скидок движка. Например можно установить акцию на 2 часа и через каждых 2 часа время окончания акции будет продлеваться на 2 часа.  Улучшена работы корзины, теперь, если в корзине есть подарок с нулевой ценой и в эту корзину добавить этот же товар отдельно, то он добавится не с нулевой подарочной ценой, а со своей ценой. Страница добавления акций:
      Более удобное добавление товаров в акции, товары можно искать не только по названию, но и по модели и артикулу Добавление товаров из производителя, а не только из категории Два изображения для акции: для блока акции на странице товара и категории и для страницы самой акции и страницы акций Два описания для акции: Для блока акции на странице товара и категории и для страницы самой акций для более полного описания акции Возможность создать акцию модуля дла акции или скидки движка Возможность для даты окончания и начала акции указывать не только дату, но и часы, минуты и секунды, для более точной установки акции Автообновление периода акции, описано выше. Настройки:
      Возможность отображать количество доступных подарков Отображать ссылку на страницу акции в окне акции Отображаться в окне акции только товары из категории данного товара. Это работает для акций движка, если акций и товаров много, то более логично для данного товара отображать другие акционные товары из этой же категории, а не со всего магазина Отображать товары из акций модуля на странице акций OpenCart и в модуле акций Cтраница акций модуля вместо акций OpenCart Использовать основную картинку для страницы акции если картинка акции отсутствует     Больше настроек для таймера:
      - таймер можно выводить не только на странице товара, но и на странице категории, акции и свех акций
      - есть несколько типов таймеров: динамический, статический, простой текст
      - есть 2 темы: черная и белая
      - есть разный размер шрифта для каждой страницы  
      Функционал модуля в PRO версии увеличился во много раз!
       
      Совместимость:
      OpenCart и ocStore 2.0.x, 2.1.x, 2.2.x, 2.3.x, 3.x 
       
      Модуль использует IonCube, обычно на 99% хостингов он установлен, но на всякий случай можете проверить.
      Одна лицензия модуля позволяет установить этот модуль на 1 домене.
       
      Демо:
      Страница акций Страница акции Категория товаров Товар1 Товар2 Админка  
      Обновление с версии 2 на версию 3 PRO:
      Обновление платное, стоимость обновления составляет 1000 рублей. 
      Для связи с автором модуля пишите в ЛС на форуме или на почту [email protected]
       
      © Стасюк Владимир (sv2109.com), 2019
    • By sv2109
      1 499.00 руб
      Скачать/Купить дополнение


      Акции, Подарки PRO
      Больше 10 тысяч загрузок модулей от sv2109!
      Это PRO вторая версия модуля, который имеет уже больше 200 покупок!
       
      Что делает этот модуль?
      Дает возможность создавать и красиво показывать в карточке товара, каталоге и других страницах (а также с версии PRO на отдельной странице с акциями)  всевозможные акции. За основу в создании этого модуля был взят опыт больших интернет магазинов.
       
      Зачем?
      Акции - это очень мощный инструмент продаж с помощью которого при правильном подходе можно в разы увеличить прибыть магазина, так как акция дает сильный стимул купить именно этот товар и именно сейчас.
      Не поэтому ли практически все большие интернет магазины очень активно используют этот инструмент? Зайдите на любой такой магазин и увидите огромное количество акций, скидок, подарков, распродаж итд.
       
      Что может быть акцией?
      Товар-подарок. Пример: "Купи ноутбук и получи мышку в подарок", "купи смартфон и получи чехол в подарок", "купи фотоаппарат и получи карту памяти в подарок" итд. При добавлении товара в корзину автоматически в корзину добавляется товар-подарок с нулевой ценой. Неизвестный подарок, приз. Пример: "Купите этот товар и получите ценный подарок от нашего магазина". Сам подарок показывается на сайте в виде красивой коробки, что внутри - сюрприз. Суперцена. Показывает что у товара очень привлекательная цена. Скидка на другой товар. Пример: "Купи фотоаппарат и получи скидку 20% на покупку объектива". Розыгрыш призов. Пример: "Среди купивших офисный стул с 1 по 31 декабря будет разыгрываться ноутбук". Бесплатная доставка. Новинка. Показывает, что товар новый. Скидка на товар. "Только 2 ноутбука в 1 руки!" - реальная акция в Розетке Что угодно  
      Некоторые советы по акциям
      обязательно указывайте дату окончания акции! Она должна быть минимальной, а не через 2 месяца. Это дополнительно будет стимулировать покупателя совершить покупку именно сейчас, а не уйти с мыслью вернуться через 2 месяца, то есть никогда. указывайте, что количество подарков или акционных товаров ограничено. Это дополнительно будет стимулировать покупателя купить товар именно сейчас, потому что уже через час подарка может не быть. создавайте реально полезные для ваших покупателей акции, а не банальные 5% при 50% наценке. Иногда полезно даже ничего не заработать на этой первой продаже но получить лояльного, постоянного покупателя, который принесет прибыть в будущем. постоянно экспериментируйте, придумывайте новые, оригинальные акции. постоянно использует этот очень мощный инструмент продаж, а не только перед праздниками. В планах дальнейшее развитие этого модуля.
       
      Новое в версии 3.0 PRO
       
      Основные изменения:
      Акции модуля связаны с акциями самого движка. Раньше они работали отдельно, каждый сам по себе и было неудобно, теперь они максимально, на сколько это было возможно реализовать, связал эти акции в одно целое, это позволило:
      - создавать акцию модуля для акции движка (акции или скидки). В таком случае если в товаре есть акция или скидка то на его странице (а так же в категории и на странице акций движка) будет отображаться блок модуля с названием акции, описанием, картинкой, всплывающим окном, списком товаров итд. В этом блоке также отображается таймер обратного отсчета, данные для таймера берутся не из настроек акции модуля, а из настроек акции (или скидки) товара
      - отображать эту акцию на странице всех акций модуля (об этом ниже)
      - есть возможность заменить страницу акций движка страницей акций модуля
      - есть возможность на странице и в модуле акций движка отображать также товары из акций модуля вместе с блоком модуля Отдельная страница со списком всех акций модуля и акциями движка.  Отдельная страница для каждой акции, в которой отображается своя картинка, полное описание акции, таймер и список всех товаров. Ссылка на эту страницу есть во всплывающем окне в блоке акции на странице товара, категории итд.  Авто обновление периода акции. Акция не будет заканчиваться, ее время будет обновляться автоматически по окончанию срока. Работает также для акций и скидок движка. Например можно установить акцию на 2 часа и через каждых 2 часа время окончания акции будет продлеваться на 2 часа.  Улучшена работы корзины, теперь, если в корзине есть подарок с нулевой ценой и в эту корзину добавить этот же товар отдельно, то он добавится не с нулевой подарочной ценой, а со своей ценой. Страница добавления акций:
      Более удобное добавление товаров в акции, товары можно искать не только по названию, но и по модели и артикулу Добавление товаров из производителя, а не только из категории Два изображения для акции: для блока акции на странице товара и категории и для страницы самой акции и страницы акций Два описания для акции: Для блока акции на странице товара и категории и для страницы самой акций для более полного описания акции Возможность создать акцию модуля дла акции или скидки движка Возможность для даты окончания и начала акции указывать не только дату, но и часы, минуты и секунды, для более точной установки акции Автообновление периода акции, описано выше. Настройки:
      Возможность отображать количество доступных подарков Отображать ссылку на страницу акции в окне акции Отображаться в окне акции только товары из категории данного товара. Это работает для акций движка, если акций и товаров много, то более логично для данного товара отображать другие акционные товары из этой же категории, а не со всего магазина Отображать товары из акций модуля на странице акций OpenCart и в модуле акций Cтраница акций модуля вместо акций OpenCart Использовать основную картинку для страницы акции если картинка акции отсутствует     Больше настроек для таймера:
      - таймер можно выводить не только на странице товара, но и на странице категории, акции и свех акций
      - есть несколько типов таймеров: динамический, статический, простой текст
      - есть 2 темы: черная и белая
      - есть разный размер шрифта для каждой страницы  
      Функционал модуля в PRO версии увеличился во много раз!
       
      Совместимость:
      OpenCart и ocStore 2.0.x, 2.1.x, 2.2.x, 2.3.x, 3.x 
       
      Модуль использует IonCube, обычно на 99% хостингов он установлен, но на всякий случай можете проверить.
      Одна лицензия модуля позволяет установить этот модуль на 1 домене.
       
      Демо:
      Страница акций Страница акции Категория товаров Товар1 Товар2 Админка  
      Обновление с версии 2 на версию 3 PRO:
      Обновление платное, стоимость обновления составляет 1000 рублей. 
      Для связи с автором модуля пишите в ЛС на форуме или на почту [email protected]
       
      © Стасюк Владимир (sv2109.com), 2019
      Добавил sv2109 Добавлено 10.02.2016 Категория Цены, скидки, акции, подарки Системные требования Метод активации По запросу в ЛС Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет Старая цена 0  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.