Дмитрий Ильин arcaneflow Сбер ID
Рейтинг
73
№ 43 223 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Нижний Новгород
Опыт работы
11 лет
На сайте с
2026 года
Юридический статус
Самозанятый

Импорт каталога 58 000 товаров в CS-Cart из CSV: характеристики, фильтры, фото — скриптом

Используемые навыки CS-Cart MySQL PHP Импорт/экспорт

Описание

Перенести каталог ~58 000 товаров в интернет-магазин сантехники на CS-Cart из одной CSV-выгрузки: описания, фото, характеристики в карточку и в фильтры, вложенные категории. Штатный импортёр CS-Cart берёт простые поля, но на сложной логике (характеристики → фильтры по уровням категорий, идемпотентный повторный импорт, тысячи изображений) требует ручной доводки на каждой итерации.

Решение

Написал PHP-скрипт с бутстрапом init.php — он поднимает окружение CS-Cart и пишет через функции ядра, без прямого доступа к таблицам и рассинхрона связанных сущностей.

Категории: резолв пути из трёх уровней, авто-создание недостающих узлов с parent_id, переиспользование существующих. Товары: upsert по артикулу (product_code) через fn_update_product — повторная выгрузка обновляет, а не плодит дубли. Характеристики: парс плоского поля «Название: Значение», создание и привязка значений к товару.

Отдельное решение по фильтрам: фильтруемые характеристики привязаны к категории 2-го уровня, первый уровень без фильтров, третий — только для определения подкатегории. CS-Cart прячет пустые фильтры, поэтому в каждой подкатегории покупатель видит только релевантные. Изображения — парс списка путей и привязка к товару; ~180 товаров без фото вынесены в отчёт, а не уронили импорт. Скрипт ведёт лог и сводный отчёт (создано/обновлено/пропущено), валидирует пустые поля.

Результат

~58 000 товаров в каталоге с описаниями, фото, характеристиками и фильтрами; вложенная структура категорий; характеристики работают и в карточке, и как фильтры по подкатегориям. Прогон идемпотентен — импорт можно гонять итеративно по мере обновления источника, без дублей.

Честно про ограничение: скрипт заточен под схему этой выгрузки (набор колонок, формат характеристик) — под другой источник маппинг перенастраивается. Это инструмент проекта, а не универсальный импортёр.

Оценили проект:

Другие проекты

Все проекты →
Искусственный интеллект Контент-фабрика для Дзена: ежедневная статья от новости до черновика
Контент-фабрика для Дзена: ежедневная статья от новости до черновика
74
Искусственный интеллект Python-библиотека llm-rotator: отказоустойчивая ротация LLM-провайдеров (circuit breaker, квоты, model-first routing)
Python-библиотека llm-rotator: отказоустойчивая ротация LLM-провайдеров (circuit breaker, квоты, model-first routing)
25
Веб-разработка и IT Оптимизация интернет-магазина на CS-Cart: страница каталога грузилась 16 секунд, стала 1 секунда
Оптимизация интернет-магазина на CS-Cart: страница каталога грузилась 16 секунд, стала 1 секунда
57
Искусственный интеллект Контент-система для Telegram-канала под ключ: сбор с AI-рерайтом + генерация оригинальных постов + публикация по расписанию
Контент-система для Telegram-канала под ключ: сбор с AI-рерайтом + генерация оригинальных постов + публикация по расписанию
29