Миграция сайта с UMI.CMS на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Миграция сайта с UMI.CMS на 1С-Битрикс
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1167
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    563
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    743
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Миграция сайта с UMI.CMS на 1С-Битрикс

UMI.CMS — отечественная система управления контентом с XML/XSL шаблонизатором. В своё время была конкурентом Битрикс в корпоративном сегменте. Сейчас UMI.CMS активно теряет поддержку: разработка замедлилась, экосистема разработчиков сократилась. Переход на Битрикс для действующих сайтов — вопрос времени и бюджета.

Архитектура UMI.CMS

UMI.CMS строится на концепции объектов и типов данных. Всё хранится в нескольких ключевых таблицах:

  • cms3_objects — все объекты системы: id, type_id, owner_id, name, is_active, is_deleted, dom_id, created, updated.
  • cms3_object_content — значения полей объектов: obj_id, field_id, lang_id, int_val, float_val, varchar_val, text_val, rel_val.
  • cms3_types — типы объектов (аналог типов контента): id, module_id, title.
  • cms3_fields — определения полей: id, type_id, name, title, field_type, guide_id, in_list.
  • cms3_object_relations — связи между объектами (иерархия).
  • cms3_domain_groups — иерархия страниц сайта.
  • cms3_pages — страницы сайта с привязкой к объектам.

Для каталога/магазина дополнительно: cms3_emarket_orders, cms3_emarket_baskets, cms3_emarket_basket_items.

Структура страниц

UMI.CMS разделяет понятия «страница» и «объект данных». Страница (cms3_pages) — это URL-адрес в иерархии, она привязана к объекту (cms3_objects) через object_id. Сам объект содержит данные через cms3_object_content.

При миграции в Битрикс:

  • Иерархия страниц → разделы инфоблока.
  • Объект UMI.CMS с его полями → элемент инфоблока со свойствами.

Типы полей и маппинг

UMI.CMS имеет систему типов полей (cms3_field_types). Основные:

UMI тип поля Битрикс свойство
string Строка
text, wysiwyg HTML/текст
img_file, image Файл (изображение)
file Файл
date, datetime Дата/время
int, float Число
relation Привязка к элементу
symlink Привязка к разделу
boolean Список (Да/Нет)

Читаем cms3_fields где type_id соответствует нужному типу контента, получаем список полей. Для каждого поля создаём свойство инфоблока в Битрикс.

Извлечение значений полей

Значения хранятся в cms3_object_content. Тип значения определяется колонкой: строки — в varchar_val, тексты — в text_val, числа — в int_val или float_val, файлы — в rel_val (ссылка на id файла в cms3_objects_content_files), связи — тоже в rel_val.

SELECT o.id, o.name, f.name as field_name, ft.data_type,
       oc.varchar_val, oc.text_val, oc.int_val, oc.rel_val
FROM cms3_objects o
JOIN cms3_object_content oc ON oc.obj_id = o.id
JOIN cms3_fields f ON f.id = oc.field_id
JOIN cms3_field_types ft ON ft.id = f.field_type
WHERE o.type_id = 12 AND o.is_deleted = 0

Результат группируем по obj_id, собираем ассоциативный массив полей.

Иерархия и разделы

Иерархия страниц в UMI.CMS строится через cms3_object_relations (rel_type = 'child') или через parent_id в cms3_pages. Рекурсивно обходим дерево, создаём разделы инфоблока через CIBlockSection::Add(), сохраняем маппинг UMI page_id → Битрикс SECTION_ID.

Мультиязычность

UMI.CMS поддерживает мультиязычность: в cms3_object_content поле lang_id определяет язык значения. Если сайт многоязычный — при чтении фильтруем по нужному lang_id, либо переносим все языки параллельно.

XSL-шаблоны

UMI.CMS использует XSL/XSLT для шаблонизации — уникальная особенность, которая не имеет аналогов в Битрикс. Все XSL-шаблоны при миграции не переносятся: дизайн и вёрстка создаются заново на основе шаблона Битрикс. Это закономерно — обычно переход на Битрикс совмещается с редизайном.

eMarket (интернет-магазин UMI)

Модуль eMarket хранит:

  • Товарный каталог в стандартных объектах UMI через cms3_objects с типом, соответствующим каталогу.
  • Заказы в cms3_emarket_orders, cms3_emarket_basket_items.
  • Клиентов в стандартных пользователях UMI (cms3_users).

Схема переноса аналогична другим магазинным платформам: товары → инфоблок каталога, заказы → b_sale_order, пользователи → CUser::Add().

SEO

В UMI.CMS SEO-поля (title, description, keywords) хранятся как обычные поля объектов через cms3_object_content. URL страниц строятся по иерархии + ЧПУ (cms3_pages.url). Собираем маппинг старых URL на новые и прописываем 301-редиректы.

Сроки

Этап Типовые сроки
Анализ типов контента, полей, иерархии 1–2 дня
Проектирование инфоблоков, маппинг полей 1 день
Разработка скрипта миграции 3–4 дня
Перенос файлов и изображений 1 день
Магазин eMarket (при наличии) 2–3 дня
SEO-редиректы 1 день
Тестирование 1 день
Итого 10–13 рабочих дней

UMI.CMS имеет достаточно чистую структуру БД — при понимании модели объектов скрипт миграции пишется относительно предсказуемо.