Миграция сайта с Magento на 1С-Битрикс
Magento — серьёзная eCommerce-платформа с развитой моделью данных. Переход на 1С-Битрикс обычно обусловлен одним из двух: либо высокой стоимостью поддержки Magento (особенно после Magento 1 End of Life), либо потребностью в глубокой интеграции с российским 1С. Это полноценный редизайн + разработка + миграция данных.
Модель данных Magento
Magento (особенно версия 1.x) использует EAV-модель (Entity-Attribute-Value) для хранения данных о товарах. Это означает, что атрибуты товаров не хранятся в колонках одной таблицы, а разбросаны по нескольким таблицам по типу данных:
-
catalog_product_entity— базовая таблица товаров -
catalog_product_entity_varchar— строковые атрибуты (название, slug) -
catalog_product_entity_text— текстовые поля (описание) -
catalog_product_entity_decimal— числа с плавающей точкой (цены) -
catalog_product_entity_int— целые числа (количество, ID статуса) -
catalog_product_entity_datetime— даты
Для получения полных данных о товаре нужен JOIN через 5–6 таблиц. В Magento 2 EAV частично заменена денормализованными таблицами, но принцип сохранён.
Экспорт товаров из Magento
Штатный экспорт Magento — через CSV (System → Export в Magento 1, System → Data Transfer в Magento 2). Экспорт включает атрибуты, но не включает медиа-файлы и ценообразование для разных групп покупателей.
Для полного экспорта надёжнее SQL:
-- Получить товары с названием и ценой (Magento 1)
SELECT
p.entity_id,
pv.value AS name,
pt.value AS description,
pd.value AS price,
p.sku,
p.type_id
FROM catalog_product_entity p
JOIN catalog_product_entity_varchar pv
ON p.entity_id = pv.entity_id AND pv.attribute_id = 71 AND pv.store_id = 0
LEFT JOIN catalog_product_entity_text pt
ON p.entity_id = pt.entity_id AND pt.attribute_id = 72 AND pt.store_id = 0
LEFT JOIN catalog_product_entity_decimal pd
ON p.entity_id = pd.entity_id AND pd.attribute_id = 75 AND pd.store_id = 0
WHERE p.status = 1;
Значения attribute_id нужно уточнить для конкретной инсталляции Magento через таблицу eav_attribute.
Конфигурируемые товары и вариации
В Magento конфигурируемые товары (configurable products) — это родительский товар с дочерними simple products, связанными через catalog_product_super_link. В Битрикс это торговые предложения (SKU) через модуль catalog.
Структура переноса: родительский configurable → элемент инфоблока каталога, дочерние simple → торговые предложения. Атрибуты-вариации (размер, цвет) становятся свойствами SKU в Битрикс.
Категории и навигация
Дерево категорий Magento хранится в catalog_category_entity (снова EAV). Иерархия через поле path (например, 1/2/5/12 — путь от корня). В Битрикс воссоздаётся как разделы инфоблока с соответствующей вложенностью.
Заказы и клиентская база
| Magento | Битрикс | Таблица Magento |
|---|---|---|
| Customer | Пользователь сайта | customer_entity |
| Order | Заказ | sales_order |
| Order Item | Элемент корзины | sales_order_item |
| Address | Адрес заказа | sales_order_address |
| Invoice | Счёт | sales_invoice |
Заказы мигрируют через CSaleOrder::Add() с воссозданием состава. История заказов важна для B2B-клиентов: они должны видеть предыдущие покупки в личном кабинете.
Цены и группы покупателей
Magento поддерживает tier pricing (цены по объёму) и customer group pricing. В Битрикс это реализуется через типы цен (b_catalog_price_type) и правила скидок. Маппинг групп покупателей Magento → группы пользователей Битрикс + типы цен.
Типичные сроки
| Тип проекта | Товаров | Срок |
|---|---|---|
| Простой магазин, стандартные атрибуты | до 3 000 | 6–10 недель |
| Средний магазин с вариациями | 3 000–20 000 | 3–5 месяцев |
| Крупный B2B-магазин, многосклад, tier pricing | 20 000+ | 5–8 месяцев |
Параллельно с переносом данных разрабатывается шаблон сайта на Битрикс — дизайн Magento на Битрикс не переносится.







