Миграция сайта с PrestaShop на 1С-Битрикс
PrestaShop — популярная европейская eCommerce-платформа с реляционной схемой базы данных. В отличие от Magento EAV, данные в PrestaShop хранятся в нормализованных таблицах, что существенно упрощает SQL-экспорт. Сложность миграции определяется количеством кастомизаций, установленных модулей и объёмом каталога.
Структура базы данных PrestaShop
Таблицы PrestaShop имеют префикс ps_ (настраивается при установке). Ключевые таблицы:
-
ps_product— базовые данные товара:id_product,reference(артикул),weight,price,active -
ps_product_lang— переводы:name,description,description_short,link_rewrite(slug) -
ps_category/ps_category_lang— категории с переводами -
ps_product_attribute— комбинации (вариации товаров) -
ps_attribute/ps_attribute_lang— атрибуты (размер, цвет) -
ps_orders— заказы -
ps_order_detail— состав заказов -
ps_customer— покупатели -
ps_image— изображения товаров
Мультиязычность в PrestaShop встроена на уровне схемы: для каждой таблицы с текстовым контентом есть парная *_lang таблица.
Экспорт товаров
Базовый запрос для экспорта товаров с переводами:
SELECT
p.id_product,
p.reference,
p.price,
p.weight,
p.active,
pl.name,
pl.description,
pl.description_short,
pl.link_rewrite,
pl.meta_title,
pl.meta_description
FROM ps_product p
JOIN ps_product_lang pl ON p.id_product = pl.id_product AND pl.id_lang = 1
WHERE p.active = 1;
Вариации товаров (комбинации)
PrestaShop называет вариации «комбинациями» (combinations). Каждая комбинация — это набор атрибутов с ценовым модификатором. Таблица ps_product_attribute_combination связывает комбинацию (id_product_attribute) с атрибутами (id_attribute).
В Битрикс это торговые предложения. Каждая комбинация PrestaShop становится отдельным SKU с набором свойств. Ценовой модификатор комбинации (price_impact) прибавляется к базовой цене товара для получения финальной цены SKU.
Категории и хлебные крошки
PrestaShop хранит дерево категорий с nleft/nright (модель вложенных множеств). Для воссоздания иерархии в Битрикс достаточно запроса с ORDER BY level_depth:
SELECT c.id_category, c.id_parent, c.level_depth, cl.name, cl.link_rewrite
FROM ps_category c
JOIN ps_category_lang cl ON c.id_category = cl.id_category AND cl.id_lang = 1
WHERE c.active = 1 AND c.id_category > 2 -- исключить Root и Home
ORDER BY c.level_depth, c.id_category;
Изображения
PrestaShop хранит изображения в /img/p/ с разбивкой по папкам на основе цифр ID: товар с id=1234 имеет изображение по пути /img/p/1/2/3/4/1234.jpg. Генерируются несколько размеров (thumbnail, medium, large, home).
При переносе в Битрикс нужны оригинальные изображения максимального размера. Битрикс сам генерирует превью через CFile::ResizeImageGet().
Модули и функциональность
PrestaShop имеет обширную экосистему модулей. Часть из них имеет прямые аналоги в Битрикс:
| PrestaShop-модуль | Аналог в Битрикс |
|---|---|
| Loyalty program | Накопительные скидки, бонусные баллы |
| Wishlist | Список желаний (модуль) |
| Product reviews | Отзывы к товарам (встроено) |
| Advanced SEO | SEO-настройки инфоблока |
| Newsletter | Подписка (модуль subscribe) |
Кастомные модули PayPal, DHL и других зарубежных сервисов в Битрикс не переносятся — нужны отечественные аналоги (ЮKassa, СДЭК, Boxberry).
Заказы и клиентская база
Если важно сохранить историю заказов для LTV-аналитики и повторных продаж — мигрируем из ps_orders + ps_order_detail в модуль «Интернет-магазин» Битрикс. Статусы заказов из ps_order_state маппятся на статусы в Битрикс вручную.
Типичные сроки
| Каталог | Вариации | Срок |
|---|---|---|
| до 2 000 товаров, без вариаций | Нет | 3–5 недель |
| 2 000–15 000 товаров, комбинации | Да | 6–10 недель |
| 15 000+ товаров, мультиязычность, заказы | Да | 3–5 месяцев |
Дизайн сайта разрабатывается заново под шаблон Битрикс.







