+

MODX REVO | AjaxForm | MicroShop > Магазин с хранением и обработкой товаров на стороне пользователя

04.10.2019 04:58
57

/* Превью

Попался мне магазин, для реализации которого не подошли всякие там ShopKeeper и MiniShop, поэтому я изобрёл свой) работает он на стороне пользователя, а товаром можно сделать что угодно..

*/

Запилил я свой магазин, максимально простой и лёгкий, по этому назвал его MicroShop

Логика работы следующая, что угодно можно сделать товаром, главное чтобы это что то имело кнопку купить, цену, и уникальный артикул, по нему считается количество и убираются дубли. всё остальное по желанию.

Работает это так, например на странице есть Html со всем необходимым для товара, пользователь кликает по кнопке купить, js записывает инфу о товаре в localStorage браузера, и обновляет инфу мини корзины, типа товар в корзине.
При заходе на страницу где подразумевается оформление заказа, js в указанный блок выгружается все товары из хранилища браузера в виде таблицы с кнопками удалить, изменить количество, суммой и тд. а в скрытое поле объект со всеми товарами.
Для отправки сообщения о заказе используется AjaxForm но с хуком, в котором разпарсивается скрытое поле с товарами, и добавляется в пиьсмо как таблица.

Фишка в том что товары можно действительно делать как угодно, например один товар это может быть отдельный ресурс или элемент migx таблицы, другие несколько товаров просто в контенте ресурса прописаные в ручную обычным html, а прочие вообще сгенерированные js'ом, а работать будут одинаково. Можно делать какие угодно модификации, цену формировать любыми способами, ещё и все расчёты ведутся на стороне пользователя не нагружая сервер и сессию, в общем полный срыв колпака.

По древнему обычаю код выкладываю на гитшвабру