Комментарии ()

    +
    T
    >

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

    /* Превью

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

    */

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

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

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

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

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

    АПД:

    07.03.2021 11:12:00

    Собрал небольшую демку с пояснениями тут microshop.trywar.ru