Империя Сумок
Мода и красота
Россия, Люберцы
Интернет-магазин
Январь 2023
3 собственных сервера, 1 коробочная ERP и другие интересности — как мы обновляли сайт для крупной сети кожгалантереи в России
Империя Сумок — сеть кожгалантереи с 250+ магазинами по всей России, которая работает на рынке больше 25 лет. Интернет-магазин у сети появился в 2017-м, и в 2022 требовал масштабного обновления, чтобы им было удобно пользоваться и клиентам, и франчайзи. Отдельной дизайн-задачей был блог «Империи Сумок».
Чтобы проект долго выглядел современно, мы разработали чистый, легкий и лаконичный дизайн: минимум ярких цветов (даже изначально цветной логотип раскрашивается лишь при наведении курсора), строгие шрифты и максимум воздуха вокруг элементов.
Мы с заказчиком работали в тандеме и подготовили очень много макетов. Здорово, что у нас под рукой был реальный контент — от него очень многое зависит. Например, состав детальной страницы товара: её финальную концепцию мы выбирали, исходя именно из реального контента.
Также и с каталогом. Например, мы проверяли, как будет смотреться список товаров на примере категории мужских черных сумок. И пришли к тому, что если для товаров будут делать новые фото, важно выполнить их в схожей с сайтом стилистике. Чтобы облегчить клиенту задачу по подготовке нового фотоконтента для каталога, мы составили рекомендации для съемки.
Отдельной дизайн-задачей был блог «Империи Сумок». Заказчик ведет его давно: делает обзоры и готовит статьи, аккуратно добавляя упоминания собственных товаров. Нам нужно было сделать его максимально похожим на онлайн-журнал о моде и стиле: для этого мы въедливо продумали визуальную структуру, предусмотрели возможность добавлять к постам теги для быстрого перехода по рубрикам, а также подготовили гайд и рекомендации для фотографий на обложки постов.
Непростой импорт данных
«Империя Сумок» работает как сеть франчайзи — в разных городах и регионах магазинами владеют разные юрлица, при этом одно юрлицо может содержать несколько магазинов в нескольких городах, а в одном городе может быть несколько магазинов разных юрлиц. Каждый магазин — это склад, и данные по наличию товаров в нем должны передаваться на сайт. У каждого магазина свой договор на эквайринг, а в каждом городе — у покупателей своя скидка по дисконтной карте.
Данные о товарах хранятся в ERP, которую доработать нельзя по историческим и политическим причинам, а данные о ценах и остатках — в другой системе (которую тоже лучше не трогать). А ещё заказчик предпочитает standalone-решения и поэтому использует собственные сервера: два для продакшна и один для тестирования.
Чтобы все это распутать, пришлось двигаться поэтапно: сначала разобрались с тем, откуда берутся данные, и как мы их можем получить из трех источников. Затем собрали вместе файл из SAP-системы, XML с ценами и остатками, файлы изображений товаров. Потом – наладили их импорт в нужном порядке: сперва справочники, товары и свойства, потом изображения и в завершение — цены и остатки.
Кроме импортов данных из систем заказчика на регулярной основе мы также решали задачу по переносу контента со старого сайта. Для этого написали скрипты экспорта данных со старого сайта и импорта на новый сайт. Переносить пришлось многое:
1. Свойства товаров, которые не хранились во внешних системах и существовали только на старом сайте: например, для товара «перчатки» на старом сайте был заполнен справочник и вручную указано свойство длины (выше локтя, ниже и т. д.).
2. Отзывы к товарам и фотографии этих отзывов: чтобы сопоставить отзывы со старого сайта с товарами на новом сайте, использовали свойство id товара со старого сайта.
3. Пользователей: важно было не упустить ни одного аккаунта, чтобы никто из пользователей не потерял доступ к сайту.
4. Архив заказов: старые заказы импортировали как отдельный справочный инфоблок, к которому есть доступ только у админа.
5. Блог: важно было сохранить привязки к товарам (как у отзывов) и аккуратно перенести изображения в статьях. Мы написали парсер, который после импорта постов блога на новый сайт прошелся по описаниям каждого поста и по ссылке на изображение перенес его на новый сайт.
Гибкая структура каталога
Товары из ERP попадают в каталог изначально без какой-либо группировки: разделы (сумки, рюкзаки, аксессуары и т. д.) создаются контент-менеджерами вручную. Чтобы товары могли перемещаться по разделам, например, если на сайте добавились новые разделы, мы добавили возможность создавать смарт-группы.
В основе фильтра — мощный движок ElasticSearch, при этом фильтрация настраивается через умный фильтр битрикса. Для SEO на сайте есть короткие ссылки, которые могут вести на результат работы фильтра. Для них можно указывать свои метаданные, названия, описания и короткий URL.
На сайте три вида скидок: по промокодам, по дисконтным картам и по настроенной на сайте правилам работы с корзиной. Чтобы множество правил не тормозило работу корзины, мы объединили штатные правила, предусмотренные Битриксом и добавили кастомных, которые зависят от вида цены и города.
Очень умный фильтр
В его основе — мощный движок ElasticSearch: ему мы «скармливаем» информацию о значениях свойств каждого товара. Эластик знает о разных ценах в разных городах, о наличии товаров в конкретном магазине конкретного города и о значениях свойств товара (тип — сумка, цвет — красный, материал — кожа).
Скидки в корзине и оформление заказа
Domino отдает на сайт три типа цен: базовая цена, распродажа и суперцена. Для каждого товара, в каждом городе, да ещё и условия применения скидок, акций, промокодов зависят от типа цены. В сумме получается больше 5 миллионов цен, поэтому стандартные Битриксовые типы цен здесь не подходят. Решение проблемы — хранить цены в отдельном хайлоад-блоке.
На заключительных этапах работы мы запустили личный кабинет для менеджеров магазина, чтобы им было удобнее работать, а сейчас – занимаемся развитием проекта.
Полный кейс: https://blog.sibirix.ru/bags-empire/