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

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

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

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

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


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

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

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


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

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

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


Ссылка на сообщение
Поделиться на другие сайты
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 не пойму почему

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


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

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

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

 

Допустим:

		$.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) {
......

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
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 товара в контреллере но проблема в том что в попапе у меня примерно так

 

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

 

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

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


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

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

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


Ссылка на сообщение
Поделиться на другие сайты
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'];
            }
        }

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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

×

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

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