Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Последний добавленный товар в корзину


AntonMuxa
 Share

Recommended Posts

Здравствуйте. Хочу сделать попап добавленного товара в корзину (то есть последнего добавленного в корзину). Вызываю его в функции cart.add в common.js. В попапе показывается последний добавленный товар в корзину а рядом общее число товаров и сумма в корзине. Проблема в том что не могу совладать с мыслями как вытянуть последний добавленный товар. Есть в опенкарте функция выбрать только все товары из корзины $this->cart->getProducts() . Может кто подкинет идею?

Link to comment
Share on other sites


9 minutes ago, n3bo said:

или чтобы не тянуть лишние запросы, можно использовать data-* и брать данные оттуда

я пытался передать вот так в функции add в success $('#previewModal .cart-popup-left').load('index.php?route=common/popup_cart #product_id'+ product_id +' > *'); а затем показать $('#previewModal').modal('show'); но контроллер не принимает с первого раза id не пойму почему

Link to comment
Share on other sites


потому что # - это ни что. 

Я Вам раскрою секрет, тут есть шаблоны, у них есть похожий функционал и есть демо. Можно зайти на демо и посмотреть как реализовано

 

Допустим:

		$.ajax({
			url: 'index.php?route=checkout/cart/add',
			type: 'post',
			data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
			dataType: 'json',
			success: function(json) {
......

 

Edited by n3bo
Link to comment
Share on other sites


40 minutes ago, n3bo said:

потому что # - это ни что. 

Я Вам раскрою секрет, тут есть шаблоны, у них есть похожий функционал и есть демо. Можно зайти на демо и посмотреть как реализовано

 

Допустим:

		$.ajax({
			url: 'index.php?route=checkout/cart/add',
			type: 'post',
			data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
			dataType: 'json',
			success: function(json) {
......

 

я сделал в success в тоq функции что вы написали     

$('#previewModal').load('index.php?route=common/popup_cart&product_id=<?php echo $product_id; ?> #previewModal > *', function() {
     $('#previewModal').modal('show');
});

работает я получаю id товара в контреллере но проблема в том что в попапе у меня примерно так

 

фото товара + колво в коризне * на цену + блок кнопок

 

так вот кол-во в корзине этого товара как можно вытащить?

Link to comment
Share on other sites


По идее мне надо в массиве $this->cart->getProducts() посчитать все ключи со значение ключа ['product_id'] который равен id товара

Link to comment
Share on other sites


11 minutes ago, AntonMuxa said:

По идее мне надо в массиве $this->cart->getProducts() посчитать все ключи со значение ключа ['product_id'] который равен id товара

в общем я так и сделал вот результат

        $prod_q = 0;

        foreach ($this->cart->getProducts() as $cart) {
            if ($cart['product_id'] == $this->request->get['product_id']) {
                $prod_q += $cart['quantity'];
            }
        }

 

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.