Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Количество товаров в корзине


Recommended Posts

в контроллере header.php получить количество

$data['count_products'] = $this->cart->countProducts();

в шаблоне вывести

<p id='count_products'><?php echo $count_products; ?></p>

и подкоректировать js  в common.js    и  product.tpl , чтобы обновлялась цена при добавлении в корзину

  • +1 2
Надіслати
Поділитися на інших сайтах

23 часа назад, fanatic сказал:

в контроллере header.php получить количество


$data['count_products'] = $this->cart->countProducts();

в шаблоне вывести


<p id='count_products'><?php echo $count_products; ?></p>

и подкоректировать js  в common.js    и  product.tpl , чтобы обновлялась цена при добавлении в корзину

 

Вот именно что и где подкорректировать в js файлах ?))

Надіслати
Поділитися на інших сайтах


catalog/controller/checkout/catr.php

метод add()   перед 

$json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total, $this->session->data['currency']));

вставить

$json['count_products'] = $this->cart->countProducts();

аналогично в методе remove()

метод   edit()    перед

$this->response->addHeader('Content-Type: application/json');

вставить

$json['count_products'] = $this->cart->countProducts();

файл  catalog/viwe/javascript/common.js

в cart.add,  cart.edit,  cart.remove   в  success      добавить

$('#count_products').html(json['count_products']);

файл catalog/view/theme/ваша тема/template/product/product.tpl    найти

$('#button-cart').on('click', function () {

в этой функции после  

if (json['success']) {

вставить

$('#count_products').html(json['count_products']);

радуемся

  • +1 1
Надіслати
Поділитися на інших сайтах

  • 1 month later...
29 минут назад, Gaya сказал:

что вы имеете в виду?

по умолчанию, данные обновляются в контейнере с идентификатором #cart

					// Need to set timeout otherwise it wont update the total
					setTimeout(function () {
						$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
					}, 100);

					$('html, body').animate({ scrollTop: 0 }, 'slow');

					$('#cart > ul').load('index.php?route=common/cart/info ul li');

а у вас, контейнер с другим идентификатором

Надіслати
Поділитися на інших сайтах

В 10.02.2020 в 13:31, fanatic сказал:

по умолчанию, данные обновляются в контейнере с идентификатором #cart


					// Need to set timeout otherwise it wont update the total
					setTimeout(function () {
						$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
					}, 100);

					$('html, body').animate({ scrollTop: 0 }, 'slow');

					$('#cart > ul').load('index.php?route=common/cart/info ul li');

а у вас, контейнер с другим идентификатором

Спасибо, обновили. Но проблема не ушла. Если перейти на главную и в самой корзине - без очистки кеша информация не обновляется.

Буду признательна за помощь. Готова компенсировать, если  что...

Надіслати
Поділитися на інших сайтах


  • 1 year later...
В 21.12.2019 в 10:46, fanatic сказал:

catalog/controller/checkout/catr.php

метод add()   перед 


$json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total, $this->session->data['currency']));

вставить


$json['count_products'] = $this->cart->countProducts();

аналогично в методе remove()

метод   edit()    перед


$this->response->addHeader('Content-Type: application/json');

вставить


$json['count_products'] = $this->cart->countProducts();

файл  catalog/viwe/javascript/common.js

в cart.add,  cart.edit,  cart.remove   в  success      добавить


$('#count_products').html(json['count_products']);

файл catalog/view/theme/ваша тема/template/product/product.tpl    найти


$('#button-cart').on('click', function () {

в этой функции после  


if (json['success']) {

вставить


$('#count_products').html(json['count_products']);

радуемся

 а у меня не получилось( на опенкарт 3 всё красиво само работает, а на 2.3.0.2 пока не получилось. Вывести кол-во товаров возле корзины удалось (контроллер + header.tpl), а со скриптами у меня туго. 1. У меня две записи  поэтому

$json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total, $this->session->data['currency']));

поэтому ставила строчку 

$json['count_products'] = $this->cart->countProducts();

2 раза. Потом ещё где то поставила, искала  метод remove() метод   edit(), не уверенна, что нашла, но тыкнула и ещё где то эту строчку)  , но думаю, самое сложное было для меня найти, нужное место в common.js , чтоб добавить. Короче, у меня не вышло((((. Попробую ещё раз пройти этот путь. Но, если можете уточнить, буду признательна.  Или вообще, может есть где то  переделанные файлы, с удовольствием бы скопировала)

Надіслати
Поділитися на інших сайтах


М

13 минут назад, KCEHIA сказал:

Ну никак

1. /controller/checkout/cart.php

 

2. catalog/view/javascript/common.js

3. template/product/product.tpl

Загрузила скрины. Что ещё? Где ошибка?

Такой функционал встроен в simple

Надіслати
Поділитися на інших сайтах


25 минут назад, kwakin сказал:

Такой функционал встроен в simple

дополнительный вывод количества в корзине?

и где там такое?

Надіслати
Поділитися на інших сайтах

49 минут назад, fanatic сказал:

дополнительный вывод количества в корзине?

и где там такое?

Я думал корзина оформления.

А здесь корзина хедер

Вы правы моя не внимательность

Змінено користувачем kwakin
Надіслати
Поділитися на інших сайтах


1 час назад, KCEHIA сказал:

Ну никак

после правок, обновите модификаторы

и чистите кеш

Надіслати
Поділитися на інших сайтах

а елемент с id="count_product' (куда должно вставляться значение)   есть в html?

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.