Перейти к содержимому


Фотография
- - - - -

Количество товара

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

Сообщений в теме: 5

#1 IgorS

IgorS

Отправлено 03 April 2016 - 20:28

Здравствуйте!

 

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

И, конечно, с автоматическим пересчетом всех данных в модуле (кол-ва, стоимости, суммы...)

Прикрепленные изображения

  • scrin-kidrepublic.png

  • 0

KidRepublic.ru - интернет-магазин детских товаров


#2 SmetDenis

SmetDenis

Отправлено 04 April 2016 - 09:07

Готового решения для вашей задачи я не встречал.

Могу подсказать принцип как это можно сделать, но от вас потребуются знания PHP и JS.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 IgorS

IgorS

Отправлено 04 April 2016 - 09:38

Готового решения для вашей задачи я не встречал.

Могу подсказать принцип как это можно сделать, но от вас потребуются знания PHP и JS.

 

Здравствуйте, Денис.

 

Буду рад подсказке. Полночи шаманил над внешним видом модуля.

Для законченности дизайна и функционала не хватает как раз этой возможности (изменения кол-ва товара).


  • 0

KidRepublic.ru - интернет-магазин детских товаров


#4 IgorS

IgorS

Отправлено 05 April 2016 - 19:18

SmetDenis, так каков же "принцип" вывода фичи?


  • 0

KidRepublic.ru - интернет-магазин детских товаров


#5 IgorS

IgorS

Отправлено 08 April 2016 - 14:27

Да... Принцип тех.поддержки - "быстро ответил на 1-ое сообщение и забыл навсегда" - прослеживается на форуме из темы в тему  (wonder)


  • 0

KidRepublic.ru - интернет-магазин детских товаров


#6 SmetDenis

SmetDenis

Отправлено 08 April 2016 - 21:14


Виджет кол-ва товаров можно отрендерить через quantity() из хелпера jbhtml
он добавит необходимые скрипты и разметку в коризину.

Далее нужно подписаться на событие изменения кол-ва в виджете.
Это обычный триггер jQuery с namespace. Имя триггера - change.JBZooQuantity
media\zoo\applications\jbuniversal\assets\js\widget\quantity.js

Сделать это можно как свойство в классе виджета модуля корзины
'change.JBZooQuantity .jsQuantity': function(){}
modules\mod_jbzoo_basket\assets\js\cart-module.js
главное чтобы класс jsQuantity был внутри виджета корзины.

Нужно сделать ajax запрос на контроллер корзины (экшен quantity). Желательно через this.ajax() Реализация в родительском виджете из файла jbzoo.js От него все наследуются.
По этому адресу отправляется key товара (это хэш, его можно найти в сессии) и новое кол-во value.
Пример ajax-запроса можно посмотреть в корзине, например.

После этого необходимо вызвать $('.jsJBZooCartModule').JBZooCartModule().JBZooCartModule('reload'); для перезагрузки модуля.
Скорее всего придется в метод reload добавить переинициализацию виджета quantity, иначе второй раз кол-во не изменить.

 
PS Извините. Была сложная неделя и я случайно вас запамятовал.
Добрая часть всего форума и вообще всего что связано с JBZoo - это мои труды, но иногда бывают промахи.
  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.






Темы с аналогичным тегами корзина, количество товара

Click to return to top of page in style!