Waistline. Интернет магазин

#backend #frontend #woocommerce #retail-crm

https://waistline.shop/

Интернет магазин специализирующийся на тематике корсетов и других корректирующее тело продуктах.

Изначально интернет магазин уже существовал на платформе https://taplink.ru. Неплохая платформа с готовым функционалом. Но клиент пожелал полноценный сайт по аналогии с магазbном, который им нравился. Он был на битриксе. Я с битриксом не работаю, поэтому предложили Woocommerce.

Столкнулись со сложной ситуацией. Я не имел большого опыта в ИМ разработке. Мы выбрали шаблон под вукоммерс. Но открыв код и тему, я понял, что не смогу с этим работать. Тема была сделана на конструкторе и перегружена излишками неиспользуемого кода и избытком админки.
Интерфейс для конструктора, интерфейс для настройки темы + к этому интерфейс фукомерса, фильтров и плагином. Все это котел неконтролируемого кода, раскиданного везде и что хуже в базе данных.

Я чуть было не отказался от проекта. Но волевым решением попытался адаптировать код вукомерса под нужды не использую конструктор, ненужные плагины и излишки вукомерса. Взял чистую тему и начал ее дорабатывать. А верстальщику поставили задачу перенести верстку из шаблона, так же успростив структуру и излишки html.

Переработка основного функцонала вукомерс.

Сложность состояла в том, что архитектура Вордпресс и Вукомерс построена на хуках. Мне не понятна эта архитектура, она не столь гибкая и в ней нет компонентного MVC подхода. В корпоративных сайтах я не использую хуки. С магазином посложнее. Функционала много, много логики завязано. Тем не менее я переработал, упростил, сделал компонентно подобные структуры для:

  • Каталог
  • Фильтрация. Категрии, цена, цвет, размер.
  • Пагинация
  • Мини карточка товара
  • Карточка товара
  • Галлерея
  • Ajax добавление простого и вариативного товара в корзины
  • Валидация вариаций и остатков
  • Кастомное отображение атрибутов цвета размера
  • Кастомная доработка отзывов
  • Кастомная дополнительная информация
  • Ajax мини корзина
  • Вишлист функционал

И много других нюансов.

Так же помимо этого не полностью, но значительно доработаны страницы: Корзины, Чекаута и Админка клиента.

Для страницы чекаута были доработаны поля и верстка всех блоков. Валидация полей в зависимости от типа доставки. Добавлены сами типы доставки:

  • сдек (был подключен платный плагин, для доставки для ПВЗ доработана некоторая верстка для выбора из селекта и на карте)
  • почта россии
  • самовывоз
  • заграницу

Контентные части сайта были вынесены в блоки Lazy Block.
Так же был реализован простой мини блок.

Интеграции

Их было несколько.

Retail CRM.

Очень сложный кусок разработки. Я не хотел использовать плагин. Плагины вордпресс - это отдельная тема. С одной стороны есть хорошие действительно упрощающие жизнь, а есть такие, функционал которых ты не контролируешь используешь то, что есть и ни на йоту больше. Не говоря о платности расширенных возможностей, которых так же может не хватать как и гибкости их реализации.

Тут важная часть системы, которую бы хотелость контролировать полностью. Плагин - черный ящик. Работает - хорошо, не работает - пиши разработчику или гадай. Я немного попробовал плагин, мне не понравилось, я решил все сделать используя php api клиент и api retail crm.

Некоторая сложность была в том, чтобы разобраться какие поля и в каком формате для чего передавать. Просто полей было под 50+. В документации была информация, но не чтобы исчерпывающая. А на просторах интернета про Ретейл Црм не так много как хотелось. Поэтому большая часть работы состояла в личном экспериментирование и выяснение работы полей.

Так было сделано:

  • синхронизация товаров по их артикулу (синхронизация цены, остатков, габаритов)
  • отправление товара в ЦРМ из заказов вукомерс

Для еще большего контроля сделал свою системы логов. Где наглядно показывались статусы работы интеграции и ошибки.


Robokassa

Для оплаты была подключена робокасса. Подключение не составило труда, разве что кроме самого кабинета робокассы и активация магазина.

Unisender

Система подписок. Был выбран юнисендер. Так же настроил форму через API. Добавил автоматизацию на отправку купона при регистрации. Так как для юнисендер, так и для всего сайта настроил SMTP mail.ru почты.

Posted in 2022, backend, frontend, interesting, woocommerce on Jun 20, 2022.