Jump to content
Sign in to follow this  
AntonMuxa

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

Ну вы же в cart.add передаете id добавленного товара... Можно с этим работать

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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 не пойму почему

Share this post


Link to post
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

Share this post


Link to post
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 товара в контреллере но проблема в том что в попапе у меня примерно так

 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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'];
            }
        }

 

Share this post


Link to post
Share on other sites

Всем спасибо за дискуссию

Share this post


Link to post
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
Sign in to follow this  

  • 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.