Техническая поддержка и доработка интернет-магазина katod.ru — подбор АКБ, скидки и складской учёт
О проекте
О проекте
katod.ru — интернет-магазин стартерных аккумуляторных батарей «Катод» на Webasyst и Shop-Script. В этом кейсе собраны задачи технической поддержки и доработки за 2020–2025 годы: от переноса заказов и восстановления функций в новой теме дизайна до обновления базы автомобилей, работы со складами и выгрузки данных для 1С.
Для магазина аккумуляторов важна связь нескольких процессов. Подбор должен учитывать автомобиль и технические характеристики батареи, цена — выбранную покупателем скидку за сдачу старого АКБ, самовывоз — наличие товара в конкретном магазине. После оформления заказа сотрудникам нужны корректный склад списания, информация о скидке и данные для дальнейшего учёта.
Работы охватывали katod.ru и московский сайт msk.katod.ru. Отдельные задачи относились к переносу функций на autoakb.com. Ниже описаны выполненные изменения; дополнительные требования, повторные обращения и задачи без подтверждённого завершения выделены отдельно.
Что дорабатывали
Перенос магазина, заказов и связанных данных
Подготовка новой версии сайта
На этапе перехода на новую версию магазина работы велись на отдельной витрине new.katod.ru. План переезда предусматривал использование Shop-Script 8, последующее обновление лицензии и восстановление ранее разработанных функций в новой теме дизайна.
В условиях работы закрепили сохранение товарного каталога: товары требовалось оставить, а перед изменениями, затрагивающими их данные, предусматривалась выгрузка в CSV. Старую версию сайта на подготовительном этапе требовалось сохранить без изменений.
В состав задач вошла проверка и восстановление плагинов подбора аккумуляторов, импорта Varta, скидки за возврат старого АКБ, настройки и списания складов, а также раздела «Где купить в розницу».
Заказы и история покупок
Перенесли заказы со старой версии магазина на новую. Согласованный состав переноса охватывал заказы во всех статусах, включая дополнительные статусы, и связанные с ними сведения:
- контакты покупателей;
- данные доставки и оплаты;
- раздел дополнительной информации;
- товарные позиции и их наименования;
- комментарии к заказам;
- сведения, необходимые для сохранения истории и статистики продаж.
Для исторических заказов согласовали допустимый вариант сохранения товарного наименования и данных покупки, даже если фотография или ссылка на действующую карточку товара отсутствует, а позиция отображается как удалённая.
При подготовке переезда также предусматривались повторный перенос актуальных заказов непосредственно перед переключением сайта и инструкция по самостоятельному выполнению этой операции.
Подбор аккумуляторов по автомобилю и характеристикам
Форма на главной странице и в каталоге
Восстановили работу разработанного плагина подбора АКБ по автомобилю и интегрировали его в новую тему дизайна. Форма предназначалась для главной страницы и разделов каталога, связанных с аккумуляторами. Для отдельных страниц предусматривалось управление её отображением через шаблон.
Форму вынесли в шаблон akb.html, а на главной подключили через home.slider.html. В мобильном и планшетном представлении учитывался доступ к подбору по автомобилю и по техническим параметрам.
Подбор по ссылке
Сохранили применение параметров фильтрации из URL. Это позволяло открыть подбор для конкретного автомобиля по ссылке из рекламы: например, для Opel Astra определённого года выпуска, без создания отдельной страницы под каждую комбинацию.
После изменения структуры адресов каталога обновили ссылки, используемые плагином: переход с варианта /category/akkumulyatornye-batarei/ на /akkumulyatornye-batarei/ требовал соответствующей корректировки.
Новая последовательность выбора автомобиля
В доработке 2025 года изменили порядок полей. Вместо последовательности «Тип транспорта — Год — Марка — Модификация — Двигатель» реализовали:
Тип транспорта — Марка — Модель — Год — Двигатель.
Поле «Модификация» переименовали в «Модель». Изменение выполнялось для katod.ru и msk.katod.ru.
Импорт Varta и ручное пополнение базы автомобилей
Восстановление парсера совместимости
Плагин «Импорт данных с Varta» — akbimport — обновлял сведения об автомобилях и совместимости аккумуляторов для дальнейшего подбора на витрине. После переноса магазина импорт зависал на 20%. Работу парсера восстановили; результат был принят заказчиком.
В 2024 году поступило повторное обращение: импорт перестал запускаться, а база подбора перестала пополняться новыми автомобилями. После диагностики потребовалась переработка механизма получения данных с сайта Varta.
Обновление импорта для двух сайтов
В 2025 году восстановили и доработали механизм импорта актуальных параметров для katod.ru и msk.katod.ru. При проверке московского сайта выявили ситуацию, когда процесс визуально выполнялся, но новые автомобили не появлялись в подборе.
Разобрались с различиями окружения и исправили проблему, связанную с версией PHP. В переписке для сравнения обновления баз использовалось появление марки BMW (BRILLIANCE). Исправление импорта было принято.
Обозначение мощности двигателя
Заменили обозначение мощности PS на «ЛС». Доработка охватывала вновь импортируемые сведения и ранее существовавшие записи: первоначально замена применялась только к новым данным, после замечания обработку дополнили.
Ручное добавление автомобилей
Добавили возможность поштучно вносить модели и конфигурации автомобилей через административную панель. Это требовалось для пополнения базы автомобилями, которых нет в источнике Varta.
Также добавили массовое внесение данных из CSV или файла Excel с проверкой полей. Такой способ позволяет пополнять базу сразу несколькими моделями.
После проверки исправили ошибку ручного добавления конфигурации на msk.katod.ru, проблему запуска массового импорта на московском сайте и нарушение оформления интерфейса плагина во время импорта на katod.ru.
Скидка «Эконом» при сдаче старого аккумулятора
Выбор покупателя и пересчёт цены
Восстановили и интегрировали плагин Discount Price — discountprice. Он задаёт размер скидки при сдаче старого аккумулятора. Покупатель выбирает соответствующую опцию в карточке товара, а стоимость покупки меняется с учётом этого выбора.
Добавили такую же опцию в корзину под каждой товарной позицией. Исправили отсутствие переключателя в корзине и некорректное отображение суммы при добавлении товара с выбранной скидкой.
В логике магазина цена «Эконом» выступала отдельным значением наряду с обычной и зачёркнутой ценой. Выбор скидки за сдачу АКБ требовалось учитывать в карточках каталога, на странице товара и в корзине.
Совместимость с браузерами
Исправили работу переключателя скидки в Firefox. Для частых повторных нажатий в Chrome в переписке было зафиксировано ограничение существующего плагина: обработка кеша могла не успевать за действиями пользователя. Это уточнение относится к поведению плагина на соответствующем этапе работ.
Вывод цены в шаблонах
Пояснили подключение цены «Эконом» в разных шаблонах. Для получения значения использовался метод shopDiscountpricePlugin::getDiscountPrice() с идентификаторами товара и артикула.
При интеграции учитывались имена переменных в конкретном шаблоне, в том числе в list.thumbs, и проверка наличия класса плагина перед обращением к нему. Это позволяло предусмотреть корректное поведение шаблона при отключении или удалении дополнения.
Напоминание оператору о скидке в заказе
В 2022 году реализовали механизм напоминания при первичной обработке заказа в административной панели. Он предназначался для случаев, когда покупатель не отметил получение скидки за сдачу старого автомобильного аккумулятора.
Задача охватывала katod.ru и autoakb.com. На сайтах использовались разные механизмы скидки, поэтому напоминание требовалось связать с соответствующей реализацией каждого магазина.
Для установки был подготовлен плагин discountreminder. Напоминание помогает оператору обратить внимание на условие сдачи старого АКБ при обработке заказа.
Карта магазинов и самовывоз с учётом наличия
Раздел «Где купить в розницу»
Восстановили карту и список магазинов в новой версии сайта. Раздел требовалось привести к представлению старого магазина и связать с плагином «Где купить в розницу».
Карту и список точек также восстановили на втором шаге оформления заказа, чтобы покупатель мог выбрать магазин для самовывоза.
Управление значками магазинов
Пояснили замену логотипов на карте: указание имени изображения с расширением в коде страницы и загрузку файла в папку yandexmap темы магазина. Для загрузки файлов использовался FTP-клиент.
Актуальные адреса, фотографии и точки выдачи
В обращении 2023 года потребовалось восстановить отображение изменений в карте самовывоза: обновить данные магазина на улице Савушкина и разобраться с отсутствием новой точки во Всеволожске.
Выяснили, что сведения для меток в корзине берутся из настроек другого плагина — раздела «Шаблон меток в корзине». Заказчику указали правильное место изменения данных.
При работе с картой учитывалось ключевое условие: точка выдачи должна отображаться для выбора, когда добавленный в корзину товар имеется в наличии в соответствующем магазине.
Выбор склада списания и уведомления сотрудникам
Правила автоматического выбора склада
Исправили работу правил автоматического выбора складов. До изменения товар мог списываться с технического склада, хотя для заказа было настроено другое правило.
Доработка требовалась для корректной связи заказа на самовывоз с выбранной точкой: в административную панель должны были поступать правильные сведения о месте получения и складе списания. Результат был принят заказчиком.
Уведомления при переносе заказа между складами
В доработке декабря 2025 года добавили email-уведомления при изменении склада списания во время редактирования заказа.
Для каждого склада в настройках плагина предусмотрен собственный адрес электронной почты. При переносе заказа уведомления направляются двум сторонам:
- на адрес нового склада — о добавлении заказа;
- на адрес прежнего склада — о снятии заказа.
Такой порядок позволяет сотрудникам обеих точек получить информацию об изменении назначения заказа.
XML-выгрузка заказов для обработки в 1С
Обмен для существующей учётной системы
Для передачи заказов в используемую заказчиком 1С 7 разработали механизм формирования XML-файлов на сервере сайта. Файлы предназначались для последующей обработки в учётной системе и организации резервирования товаров.
Согласованная схема предусматривала получение файлов по FTP и дальнейшую обработку на стороне заказчика. Отдельный интерфейс просмотра созданных файлов не был обязательным.
События создания файлов
Новый XML-файл требовалось создавать при появлении заказа и при изменении существующего. Для изменений согласовали создание отдельного файла, позволяющего передать очередное состояние заказа.
В имени файла предусмотрены номер заказа, дата и время формирования, а также текущий статус латинскими символами без пробелов.
Состав выгрузки
В согласованный состав XML вошли следующие сведения:
- Заказ: номер, статус, дата создания или изменения статуса, комментарий.
- Покупатель: имя, телефон, email и адрес.
- Доставка и оплата: способ доставки и статус оплаты в формате «Да / Нет».
- Источник заказа: контрагент, позволяющий учитывать заказ с сайта, Яндекс Маркета или Ozon.
- Товарные позиции: наименование, код артикула, идентификатор товара в 1С, цена и количество.
- Склад: склад списания и его идентификатор для 1С.
- Суммы по заказу: стоимость доставки и общая скидка.
Для заказа с несколькими товарами сведения о позициях повторяются для каждого товара. При согласовании источника идентификатора 1С использовалась выгрузка товаров в CSV со всеми полями.
В последующих доработках добавили идентификатор склада для 1С, стоимость доставки и скидку по всему заказу.
Размещение файлов и доступ по FTP
Изменили размещение выгрузок: файлы должны были находиться в общей папке без отдельных подкаталогов с номерами заказов. Также разобрались с возможностью удаления файлов через FTP; после проверки заказчик подтвердил доступ.
Управление формированием выгрузки
В требованиях к механизму предусмотрели:
- включение и отключение работы плагина целиком;
- включение и отключение создания файлов для отдельных статусов или нескольких статусов;
- добавление новых статусов в условия выгрузки после их создания в Webasyst;
- возможность управления через текстовую конфигурацию, доступную по FTP;
- сохранение работоспособности решения при дальнейших обновлениях магазина.
Отдельные уточнения по пустому значению контрагента и обработке удалённых складов или статусов приведены среди дополнительных требований.
Обновление экспорта товаров в Яндекс Маркет
В 2022 году обновили плагин экспорта товаров в Яндекс Маркет с учётом ранее внесённых изменений. Для выполнения обновления также требовалось обновление Shop-Script.
При сопровождении экспорта важно было сохранить индивидуальную логику магазина. В числе существующих доработок была передача цены со скидкой «Эконом» в товарную выгрузку.
Позднее поступило отдельное обращение о зависании операции «Сохранить и экспортировать», при котором YML-файл не обновлялся. Это обращение включено в раздел дополнительных задач.
Карточка товара, сравнение и мобильное меню
Увеличение изображения товара
Восстановили увеличение фотографии при нажатии на изображение в карточке товара. Функция работала в исходной теме, но требовала исправления после интеграции изменений. Результат был принят.
Сравнение товаров
Исправили неработающий раздел «Сравнение», чтобы покупатель мог использовать предусмотренный магазином инструмент сопоставления товаров.
Раскрытие мобильного меню
Исправили поведение кнопки «+» в мобильном каталоге. При нажатии должен раскрываться выбранный раздел; прежде действие открывало сразу все разделы меню.
Компактный вывод характеристик
Настроили отображение трёх согласованных характеристик в компактном виде вместо технического значения Array. Изменение было принято заказчиком.
Управление дополнительными плагинами
По отдельному обращению пояснили отключение PlugMein через «Инсталлер» Webasyst с помощью штатной команды выключения плагина.
Перенос функций на autoakb.com
Состав переноса
Отдельным направлением в 2021 году стал перенос функций katod.ru на autoakb.com. Задачи включали импорт параметров и совместимости из Varta, подбор по автомобилю и характеристикам, а также скидку за сдачу старого АКБ с размером, зависящим от ёмкости батареи.
Для подбора были заданы места размещения: справа от слайдера на главной странице и в категории товаров под блоком производителей, перед списком позиций.
Для скидки требовалось показывать обычную цену и цену «Эконом» в каталоге, карточке товара и корзине, дать покупателю возможность отказаться от скидки и учитывать её при изменении конечной стоимости. Также обсуждалось сохранение передачи этой цены в Яндекс Маркет.
Особенности настройки подбора
При переносе выявили зависимость плагина от настроек каталога. Для характеристики размеров требовались идентификатор razmery2 и текстовый тип; изменение только идентификатора без изменения типа не обеспечивало работу механизма.
Также выяснили привязку к категории с адресом akkumulyatornye-batarei и «естественному» типу формирования URL на витрине.
Замечания по импорту и результатам фильтрации
После первоначального переноса формы поступили замечания: импорт зависал на 20%, затем визуально завершался для легковых автомобилей, но не выполнялся для других типов транспорта. Отдельно отмечалось длительное отсутствие движения индикатора процесса.
При проверке подбора возникли вопросы к его размещению на главной и различиям результатов на двух сайтах для одного автомобиля. В качестве примера использовался Audi A3 2020 года с двигателем 2.0 TDI.
Сравнение ссылок показало необходимость учитывать соответствие параметров полярности, ёмкости, пускового тока и размеров, а также различия идентификаторов значений характеристик между магазинами. Завершение исправлений по всем замечаниям этого переноса отдельно не подтверждено.
Дополнительные требования и обращения
Пустые результаты подбора и сброс выбранных параметров
После изменения адресов каталога заказчик повторно сообщил, что подбор возвращает «Не найдено ни одного товара» на мобильных устройствах и компьютерах. Также был задан вопрос о сбросе выбранных параметров после пустого результата. Окончательное решение именно этого повторного обращения отдельно не зафиксировано.
Отложенная публикация в блоге
В 2023 году обсуждался механизм публикации статьи в заданные дату и время. Требовалось, чтобы подготовленный материал переходил в состояние «Опубликовано» в назначенный момент. Подтверждение реализации отсутствует.
Общий остаток в виртуальном складе
В 2022 году поступил запрос на механизм, который по расписанию получает остатки каждого товара из выбранных складов, суммирует их и записывает результат в отдельный виртуальный склад.
Важное условие — учитывать заданный набор складов. Вариантом реализации рассматривался запуск скрипта через cron. Завершение задачи не подтверждено.
Ошибки базы данных, кеша и формирования YML
В декабре 2022 года заказчик обратился с несколькими связанными проблемами:
- ошибка создания склада из-за отсутствия значения по умолчанию для поля
phone; - зависание сохранения и экспорта в плагине Яндекс Маркета, при котором YML-файл не обновлялся;
- повторяющиеся ошибки в административной панели при редактировании заказов и статей;
- временное восстановление работы после очистки кеша;
- ошибка записи скомпилированного шаблона в кеш, показанная на скриншоте оформления заказа.
Требовалось проверить состояние системы и возможность восстановления с сохранением информации о новых заказах. Итог исправления этого комплекса ошибок в переписке не зафиксирован.
Дополнительные условия XML-выгрузки
Заказчик запросил подстановку значения katod.ru в поле «Контрагент», если оно пустое. После уточнения названия поля подтверждение реализации отдельно не приведено.
Также обсуждалась работа выгрузки при добавлении, изменении и удалении складов или статусов. Для старых заказов, содержащих ссылку на уже удалённый склад либо статус, поведение осталось предметом уточнения.
Повторная проверка импорта в декабре 2025 года
Одновременно с задачей складских уведомлений поступило обращение о возможном нарушении работы функционала, доработанного в марте 2025 года. Подробный результат этой повторной проверки отдельно не описан.
Обращения, закрытые после уточнения
Сброс информации о скидке при редактировании заказа был связан с ошибкой Webasyst, исправленной в обновлении от 11 августа 2020 года. Заказчику пояснили вариант обновления через «Инсталлер» при отсутствии изменений исходного кода; после этого отдельная задача была отменена.
Обращение 2021 года о неработающих картах в разделах офиса компании и оптовых продаж заказчик позднее снял, сообщив, что самостоятельно восстановил их работу. Это обращение не включено в выполненные командой изменения.
Итоги и похожие задачи
Поддержка katod.ru охватывала пользовательскую витрину и внутреннюю обработку заказов. Перенесли заказы и связанные данные, восстановили подбор АКБ и импорт совместимости, доработали базу автомобилей для katod.ru и msk.katod.ru, интегрировали скидку за сдачу старой батареи и напоминание оператору.
В работе с розничной сетью восстановили карту самовывоза, исправили выбор склада списания и добавили уведомления при переносе заказа между складами. Для дальнейшего учёта подготовили XML-выгрузку заказов с товарными, складскими и финансовыми сведениями. Дополнительно обновили экспорт в Яндекс Маркет и исправили отдельные элементы интерфейса.
Похожий состав задач возникает у магазинов на Webasyst и Shop-Script, где подбор товара связан с техническими характеристиками, цена зависит от дополнительных условий, а заказы обрабатываются несколькими магазинами или складами. Quadro Design помогает восстановить существующие функции, адаптировать плагины к изменениям сайта и разработать обмен данными под процессы конкретного бизнеса.
