Задача:
Сделать корзину для сайта НЕ магазина.

Сайт сделан на WordPress.
Сверстан в Webflow.

Что сделал:

Написано много кода для разного типа товаров с возможностью выбора тарифов и других вариантов.

Вначале надо было сделать отбор по типу товаров, добавить атрибуты к элементам товаров, товары добавлялись через запись в WordPress.

Далее по клику на кнопку происходит добавление товара в объект товаров. Параллельно идет перерасчет кол-ва товара в корзине и общая стоимость. По итогу все записывается в localstorage.

По клику на корзину переход на страницу корзины. Если у нас что-то есть в localstorage то идет отрисовка верстки со списком товаров добавленных в корзину. Причем верстка для разных товаров разная, например для обычных товаров одна, а для дополнительных опций другая.

В корзине можно менять кол-во товара, удалять, и добавлять еще какие-то опции, которые тоже будут как товар отображаться в списке.

При оформлении заказа, в форме, где заполняются поля с телефоном и данными добавляется скрытое поле, которое содержит весь список корзины: название, тип, опция, кол-во и общая стоимость.

На почту приходит письмо с данными пользователя и списком выбранных товаров.