В методы add, change. remove класса msCartHandler добавлены данные об изменении кол-ва товара#949
В методы add, change. remove класса msCartHandler добавлены данные об изменении кол-ва товара#949createit-ru wants to merge 2 commits intomodx-pro:masterfrom
Conversation
…oduct quantity (add "changes")
biz87
left a comment
There was a problem hiding this comment.
@createit-ru ты уж если начал строгую типизацию вносить в класс, то и параметры тоже типизируй, а не только ответ
|
@biz87 хорошо, доберусь, но уже через неделю. Что думаешь про идею в целом и наименование ключа |
Добавил, и в базовый интерфейс msCartInterface тоже. Как думаешь, не затронет это никого? |
|
@createit-ru боюсь с интерфейсами ты погорячился. Смотри, у множества сайтов есть с кастомными классами корзины, которые реализуют интерфейс. А если в кастомных классах какая то другая реализация? К примеру метод initialize ничего не возвращает. Посыплются ошибки. Дефолтный класс сделать в строгой типизации - ошибок не будет. А интерфейс в строгой типизации сломает кастомные классы, которые плохо написаны. |
Что оно делает?
Методы add, change, remove класса msCartHandler возвращают на фронт много информации, такой как текущая корзина, общая стоимость товаров и их вес и другое.
Но нет информации о том, сколько товара было в корзине ДО совершения действия.
Например: в корзине было 2 единицы товара, и мы добавили еще один. В ответе от сервере будет count = 3. Но для различных ситуаций может потребоваться информация о том, сколько товаров было ДО совершения действия (2 товара). Самый простой пример - это передача данных в системы электронной коммерции.
Это изменение добавляет новый ключ

changesв ответ сервера:changeсодержит в себе:count- текущее кол-во товара в корзинеold_count- прошлое кол-во товараdelta- разница междуcountиold_countmethod- метод, который был вызван (add, change, remove)Зачем это нужно?
На фронте будет доступно больше данных об изменениях после выполнения действий (add, change, remove) с товарами в корзине.
Связанные проблема(ы)/PR(ы)
#908