Магазин запчастей на сайте
Примечание по шаблонам. Если для тенанта выбран шаблон Forge (harley / volvo), по адресу/shopотображается отдельный компонентHarleyShopс собственным дизайном. Этот документ описывает классический вариант магазина (CarsEXP-10), который рендерится для всех остальных шаблонов.
Публичная витрина запчастей вашего автосервиса — открывается по адресу ваш-домен.ru/shop. Клиент сам находит нужную деталь, кладёт в корзину и оплачивает онлайн; заказ автоматически резервируется со склада. Сервис получает готовый заказ без лишних звонков.
Как открыть
Витрина открывается в браузере по ссылке <домен-тенанта>/shop. Отдельный пункт «Магазин» есть в навигационном меню на главной странице сайта. Войти в аккаунт не нужно — магазин полностью публичный.
На странице товара адрес выглядит так: /shop/p/<артикул>. Страница статуса заказа после оплаты: /shop/order/<номер-заказа>.
Что на экране
Витрина (/shop)
Шапка (верхняя панель, зафиксирована при прокрутке):
- Логотип и название сервиса — ссылка на главную страницу (
/). - Плашка «Магазин запчастей» — показывает, что вы в магазине.
- Поле поиска по запчастям.
- Переключатели языка (RU / ET / EN) — если сервис работает на нескольких языках. Выбор сохраняется в cookie на год; страница перезагружается.
- Кнопка смены темы (светлая/тёмная). Выбор сохраняется в
localStorage. - Кнопка «Корзина» со счётчиком позиций. При переходе со страницы товара по хэшу
#cartкорзина открывается автоматически.
Баннер-герой (тёмный блок вверху): Название сервиса и заголовок «Магазин запчастей» с кратким описанием. Оформление в цвете бренда вашего сервиса. Только информационный, не кликабельный.
Полоса категорий: Чипы-кнопки: «Все», затем категории из вашего склада (тормоза, двигатель, фильтры и т.д.). При выборе категории появляются подкатегории строкой ниже.
OEM-баннер (появляется при фильтре по OEM-номеру): Синяя плашка «OEM: <номер>» с кнопкой «✕» для сброса фильтра.
Счётчик результатов: Строка «N позиций» над сеткой товаров (число выделено зелёным). Скрыта, если товаров нет.
Сетка товаров (карточки): Каждая карточка содержит:
- Фото товара (или заглушка 🔧 / настраиваемая в /admin).
- Точки-индикаторы под фото, если фотографий несколько.
- Плашка бренда.
- Название товара (ссылка на страницу товара).
- Артикул (SKU) и OEM-номер (кликабельный).
- Краткое описание.
- Цветной статус наличия (зелёный / жёлтый / красный).
- Цена крупным шрифтом.
- Степпер количества (−/число/+) и кнопка «В корзину».
- Подсказка о сплите, если часть товара есть на складе, часть — под заказ.
Полоса доверия (внизу страницы): Четыре иконки с текстом: Гарантия совместимости, Быстрая доставка, Возврат 30 дней, Цены поставщика. Только информационный блок.
Боковая корзина (drawer): Выезжает справа при нажатии «Корзина». Список позиций с управлением количеством, итоговая сумма, кнопки оформить/продолжить покупки.
Страница товара (/shop/p/:ref)
Шапка: логотип ведёт на /shop. Переключателей языка на странице товара нет — только кнопка темы и кнопка «Корзина».
Ссылка «← Продолжить покупки»: возврат на витрину.
Хлебные крошки: Магазин запчастей / Категория / Подкатегория / Название товара. Все части кроме последней кликабельны.
Галерея (слева):
- До 6 миниатюр в столбце — клик переключает главное фото.
- Большое главное фото. Клик открывает лайтбокс (полноэкранный просмотр).
Блок покупки (справа, зафиксирован при прокрутке):
- Плашка бренда.
- Название товара.
- Артикул.
- OEM-чипы (ссылки → фильтр каталога по этому номеру).
- Цена.
- Статус наличия (цветная плашка: зелёная / жёлтая / красная).
- Степпер количества и кнопка «В корзину».
- Подсказка о сплите, если часть под заказ.
Блок «Описание»: появляется только если описание заполнено.
Блок «OEM / кросс-номера»: список OEM-номеров в виде ссылок → витрина с тем же номером.
Блок «Аналоги по номеру»: другие товары в вашем каталоге с тем же первым OEM-номером данного товара. Каждый аналог показывает: иконку/фото, бренд и название, артикул (если есть), цену. Блок скрыт, если аналогов нет или у товара нет OEM-номеров.
Лайтбокс (полноэкранный просмотр фото): Открывается при клике на главное фото. Тёмный фон, большое фото, стрелки «‹»/«›», счётчик «1/N», кнопка «✕».
Боковая корзина: та же, что на витрине.
Страница заказа (/shop/order/:id)
Открывается автоматически после оплаты или по ссылке из письма.
Структура карточки заказа:
- Галочка «✓» и текст «Спасибо за заказ!» — показываются только если статус
paid,readyилиpicked_up. - Номер заказа — крупным шрифтом.
- Статус — цветная таблетка. Возможные значения:
- «Ожидает оплаты» (жёлтый) - «Оплачен» (зелёный) - «Готов к выдаче» (зелёный) - «Выдан» (зелёный) - «Отменён» (красный) - «Возврат» (красный)
- Список позиций: название товара × количество, сумма строки. Если часть товара со склада, а часть под заказ — строка содержит пометку «N со склада · M под заказ».
- Итого (
grandTotal) — общая сумма заказа. - Кнопка «Продолжить покупки» — ссылка на витрину
/shop.
Каждая кнопка и действие
Витрина /shop
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Логотип + название сервиса | Шапка | Переходит на главную страницу сервиса (/) | Все |
| Поле «Поиск запчастей…» | Шапка | Ищет товары по названию / артикулу на сервере; результаты обновляются через 0,35 сек после остановки ввода | Все |
| Кнопки языка (RU / ET / EN…) | Шапка | Переключают язык интерфейса; выбранный язык запоминается в браузере на год; страница перезагружается | Все; видны только если у сервиса включено несколько языков |
| Кнопка «☾» / «☀» (тема) | Шапка | Переключает светлую и тёмную тему; выбор сохраняется в браузере | Все |
| Кнопка «🛒 Корзина» | Шапка | Открывает боковую панель корзины | Все |
| Счётчик товаров на кнопке корзины | Шапка | Показывает суммарное количество позиций; скрыт, если корзина пуста | Все |
| Чип «Все» | Полоса категорий | Сбрасывает фильтр категории, показывает весь каталог | Все |
| Чипы категорий (Тормоза, Двигатель…) | Полоса категорий | Фильтрует каталог по выбранной категории; активная категория подсвечивается синим; появляются подкатегории | Все |
| Чипы подкатегорий | Под полосой категорий (при выборе родителя) | Уточняет фильтр внутри выбранной категории | Все |
| Кнопка «✕» в OEM-баннере | OEM-баннер (появляется при OEM-фильтре) | Сбрасывает фильтр по OEM-номеру, показывает весь каталог | Все |
| Фото карточки товара | Карточка | Переходит на страницу товара /shop/p/<ref> | Все |
| Наведение мыши на фото карточки | Карточка (несколько фото) | Перелистывает фотографии по позиции курсора; точки внизу фото подсвечивают активный кадр | Все (десктоп) |
| Свайп пальцем по фото карточки | Карточка (несколько фото) | Перелистывает фотографии | Все (мобильный) |
| Название товара (ссылка) | Карточка | Переходит на страницу товара | Все |
Кнопка OEM-номера (OEM XXXXXX) | Карточка | Фильтрует весь каталог по этому OEM-номеру; появляется синий OEM-баннер | Все |
| Кнопка «−» (степпер) | Карточка, блок количества | Уменьшает количество на 1; минимум — 1 | Все |
| Кнопка «+» (степпер) | Карточка, блок количества | Увеличивает количество на 1; если товар только со склада, не даёт превысить остаток | Все |
| Кнопка «В корзину» | Карточка | Добавляет выбранное количество товара в корзину; кратковременно блокируется на время запроса; показывает тост «Товар добавлен в корзину»; кнопка корзины в шапке «подпрыгивает» | Все |
| Тост «✓ Товар добавлен в корзину» | Внизу экрана (авто) | Появляется сам, исчезает через 2,2 сек; только информационный | Все |
Автооткрытие корзины по #cart | Адресная строка | При переходе на /shop#cart (со страницы товара) корзина открывается автоматически | Все |
Корзина (боковая панель)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Затемнение за панелью (overlay) | Поверх страницы | Закрывает корзину при клике | Все |
| Кнопка «×» | Заголовок корзины | Закрывает боковую панель корзины | Все |
| Кнопка «−» у позиции | Строка товара в корзине | Уменьшает количество; при уменьшении до 0 — удаляет позицию | Все |
| Кнопка «+» у позиции | Строка товара в корзине | Увеличивает количество | Все |
| Кнопка «✕ Удалить» | Строка товара в корзине | Удаляет позицию из корзины | Все |
| Кнопка «Оформить заказ →» | Итоговый блок корзины | Переходит к форме оформления внутри той же панели | Все |
| Кнопка «Продолжить покупки» | Итоговый блок корзины | Закрывает боковую панель | Все |
Форма оформления (внутри боковой панели)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка «×» | Заголовок формы оформления | Возвращает к содержимому корзины (не закрывает панель) | Все |
| Плашка «📍 Самовывоз из сервиса» | Верх формы | Информационная; напоминает, что получить заказ нужно лично | Все |
| Поле «Имя» | Форма | Имя покупателя; обязательное — без него кнопка «Перейти к оплате» не сработает | Все |
| Поле «Email» | Форма | Email покупателя; обязательное; на него придёт подтверждение заказа | Все |
| Поле «Телефон (необязательно)» | Форма | Номер телефона; необязательное | Все |
| Кнопка «Перейти к оплате» | Форма оформления | Отправляет заказ; если имя или email не заполнены — ничего не происходит; иначе переходит на страницу оплаты (Montonio); корзина в браузере очищается | Все |
| Кнопка «Назад в каталог» | Форма оформления | Возвращает к содержимому корзины | Все |
Страница товара /shop/p/:ref
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Логотип + название | Шапка | Переходит на витрину /shop | Все |
| Кнопка «☾» / «☀» (тема) | Шапка | Светлая/тёмная тема; сохраняется в браузере | Все |
| Кнопка «🛒 Корзина» | Шапка | Открывает боковую панель корзины | Все |
| Ссылка «← Продолжить покупки» | Под шапкой | Возвращает на витрину /shop | Все |
| Хлебная крошка «Магазин запчастей» | Навигационная цепочка | Переходит на витрину /shop | Все |
| Хлебные крошки категорий | Навигационная цепочка | Переходит на витрину с фильтром по выбранной категории | Все |
| Миниатюра фото (до 6 штук) | Галерея, левый столбец | Переключает главное большое фото | Все |
| Главное фото | Галерея | Открывает лайтбокс (полноэкранный просмотр) | Все |
| OEM-ссылка в блоке «OEM / кросс-номера» | Под галереей | Переходит на витрину с фильтром по этому OEM-номеру (/shop?oem=…) | Все |
| OEM-ссылка в блоке покупки | Правый блок | То же: витрина с OEM-фильтром | Все |
| Кнопка «−» (степпер) | Правый блок покупки | Уменьшает количество; минимум — 1 | Все |
| Кнопка «+» (степпер) | Правый блок покупки | Увеличивает количество; ограничен остатком если только со склада | Все |
| Кнопка «В корзину» | Правый блок покупки | Добавляет товар в корзину; показывает тост | Все |
| Ссылка аналога (карточка товара) | Блок «Аналоги по номеру» | Переходит на страницу этого аналога | Все; блок не появляется, если у товара нет OEM-номеров или аналоги не найдены |
Лайтбокс (полноэкранный просмотр фото, только на странице товара)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка «✕» | Верхний правый угол | Закрывает лайтбокс | Все |
| Кнопка «‹» | Левый край | Показывает предыдущее фото; скрыта, если фото одно | Все |
| Кнопка «›» | Правый край | Показывает следующее фото; скрыта, если фото одно | Все |
| Счётчик «1 / N» | Внизу по центру | Показывает номер текущего фото из общего числа; скрыт, если фото одно | Все |
| Клик по фото или тёмному фону | Весь лайтбокс | Закрывает лайтбокс | Все |
| Клавиша Escape | Клавиатура | Закрывает лайтбокс | Все (десктоп) |
| Клавиша ← | Клавиатура | Предыдущее фото | Все (десктоп) |
| Клавиша → | Клавиатура | Следующее фото | Все (десктоп) |
| Свайп влево | Лайтбокс (касание) | Следующее фото | Все (мобильный); срабатывает при смещении пальца > 40 пикселей |
| Свайп вправо | Лайтбокс (касание) | Предыдущее фото | Все (мобильный) |
Страница заказа /shop/order/:id
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Галочка «✓» + «Спасибо за заказ!» | Верх карточки | Показывается только при статусах paid / ready / picked_up | Все |
| Номер заказа | Карточка заказа | Только отображение | Все |
| Плашка статуса | Карточка заказа | Цветная: жёлтая = ожидает, зелёная = оплачен/готов/выдан, красная = отменён/возврат | Все |
| Список позиций с пометкой сплита | Карточка заказа | Каждая строка: название × кол-во · сумма; при частичном под-заказе — «N со склада · M под заказ» | Все |
| Итого | Карточка заказа | grandTotal — общая сумма заказа | Все |
| Ссылка «Продолжить покупки» | Карточка заказа | Переходит на витрину /shop | Все |
Диалоги и подэкраны
Боковая панель корзины
Открывается при нажатии кнопки «Корзина» в шапке (или автоматически при переходе на /shop#cart со страницы товара). Выезжает справа, фон страницы затемняется.
Состояние: корзина пуста Показывает заголовок «Корзина» и текст «Корзина пуста».
Состояние: есть товары Список позиций. Каждая позиция: название, количество (кнопки «−»/«+»), цена строки, кнопка «✕ Удалить». Если часть товара со склада, а часть под заказ — строка выделена жёлтым с пометкой «X со склада · Y под заказ».
При наличии товаров «под заказ» — жёлтая плашка «⏳ N под заказ» под списком.
Блок итога: «Итого» и сумма крупным шрифтом, кнопки «Оформить заказ →» и «Продолжить покупки».
Форма оформления (внутри панели корзины)
Открывается при нажатии «Оформить заказ». Не отдельная страница — панель остаётся открытой.
Поля:
- Имя — текстовое, обязательное.
- Email — email, обязательное. На него придёт письмо с заказом.
- Телефон (необязательно) — телефон, можно оставить пустым.
Плашка «📍 Самовывоз из сервиса» напоминает, что доставки нет — за заказом нужно приехать лично.
Кнопки:
- «Перейти к оплате» — отправляет данные; если имя или email пусты, не реагирует (нет сообщения об ошибке — поля просто нужно заполнить). После успешной отправки браузер уходит на страницу оплаты платёжной системы.
- «Назад в каталог» — возвращает к списку товаров в корзине (без потери корзины).
Лайтбокс (полноэкранный просмотр фото)
Открывается на странице товара при клике на главное большое фото. Показывает фото на весь экран с тёмным фоном. Если фотографий несколько — появляются стрелки «‹»/«›» и счётчик «1/N». Закрывается: кнопка «✕», клик по фото или фону, клавиша Escape. На телефоне — свайп.
Что если…
Магазин не загружается (пустой экран или «Не удалось загрузить»)
Обычно причина — нет интернета или сервер временно недоступен. Обновите страницу. Если проблема сохраняется — напишите в техподдержку CarsEXP.
Надпись «Магазин временно недоступен»
Владелец сервиса временно отключил магазин в настройках. Обратитесь к владельцу.
Надпись «Пока нет товаров»
В каталог ещё не добавлены позиции, или выбранная категория / поисковый запрос ничего не нашли. Сбросьте фильтры (нажмите «Все» в категориях или очистите поле поиска).
Кнопка «Перейти к оплате» не реагирует
Не заполнено поле «Имя» или «Email». Заполните оба поля и попробуйте снова.
После оплаты ничего не происходит / страница заказа показывает «Ожидает оплаты»
Платёж ещё обрабатывается — подождите минуту и обновите страницу. Если статус не меняется — проверьте email: туда должно прийти подтверждение. Если письма нет, обратитесь к владельцу сервиса.
Вопрос-ответ
Как найти запчасть по номеру детали?
Введите OEM-номер (или артикул) в поле «Поиск запчастей…» в верхней части страницы. Также можно кликнуть на синий чип «OEM XXXXXX» прямо на карточке товара — покажутся все детали с этим номером.
В: Что значит «Под заказ»? О: Товара нет на складе прямо сейчас, но его можно заказать. Детали уточните у сервиса. Если у товара горит зелёный — «В наличии: N», это значит, что столько штук есть на складе и готовы к выдаче сразу.
В: Могу ли я добавить в одну корзину товар «В наличии» и товар «Под заказ»? О: Да. Тогда в корзине появится жёлтая подсказка: сколько штук уйдёт со склада, а сколько под заказ. Это же видно на странице заказа после оплаты.
В: Есть ли доставка? О: Магазин работает в режиме самовывоза из сервиса. Об этом напоминает плашка при оформлении. Если сервис предлагает доставку — уточняйте у него напрямую по телефону.
В: Потерял ссылку на заказ. Как посмотреть статус? О: На email, который вы указали при оформлении, пришло письмо со ссылкой на заказ вида <домен>/shop/order/<номер>. Если письма нет — проверьте папку «Спам» или позвоните в сервис.
В: Пропала корзина после закрытия браузера — почему? О: Корзина хранится в вашем браузере. Если вы открыли другой браузер или устройство — корзина там пуста. Чтобы не потерять товары, оформляйте заказ до закрытия вкладки.