MODX REVO | AjaxForm | MicroShop > Магазин с хранением и обработкой товаров на стороне пользователя
/* Превью
Попался мне магазин, для реализации которого не подошли всякие там ShopKeeper и MiniShop, поэтому я изобрёл свой) работает он на стороне пользователя, а товаром можно сделать что угодно..
*/
Запилил я свой магазин, максимально простой и лёгкий, по этому назвал его MicroShop
Логика работы следующая, что угодно можно сделать товаром, главное чтобы это что то имело кнопку купить, цену, и уникальный артикул, по нему считается количество и убираются дубли. всё остальное по желанию.
Работает это так, например на странице есть Html со всем необходимым для товара, пользователь кликает по кнопке купить, js записывает инфу о товаре в localStorage браузера, и обновляет инфу мини корзины, типа товар в корзине.
При заходе на страницу где подразумевается оформление заказа, js в указанный блок выгружается все товары из хранилища браузера в виде таблицы с кнопками удалить, изменить количество, суммой и тд. а в скрытое поле объект со всеми товарами.
Для отправки сообщения о заказе используется AjaxForm но с хуком, в котором разпарсивается скрытое поле с товарами, и добавляется в пиьсмо как таблица.
Фишка в том что товары можно действительно делать как угодно, например один товар это может быть отдельный ресурс или элемент migx таблицы, другие несколько товаров просто в контенте ресурса прописаные в ручную обычным html, а прочие вообще сгенерированные js'ом, а работать будут одинаково. Можно делать какие угодно модификации, цену формировать любыми способами, ещё и все расчёты ведутся на стороне пользователя не нагружая сервер и сессию, в общем полный срыв колпака.
По древнему обычаю код выкладываю на гитшвабру
АПД:
07.03.2021 11:12:00
Собрал небольшую демку с пояснениями тут microshop.trywar.ru
Комментарии ()
Написать комментарий