Хочу поделиться с вами своей наработкой, которую я использую в свои проектах при работе с инфоблоками.
Bitrix Migration - это скрипт с визуальным интерфейсом, который позволяет экспортировать структуру Инфоблоков в php-массив.
Да я знаю, что есть стандартный импорт/экспорт в XML или CSV, но это не то.
BM формирует массив типов инфоблока, сами инфоблоки и свойства инфоблока для дальнейшего импорта его, используя API Битрикса.
Как это можно использовать?
Основной сценарий использования - это копирование, клонирование или перенос инфоблоков (свойств инфоблока).
У вас есть инфоблок с некоторыми свойствами. Задача перенести свойства в другой инфоблок.
Запускаете экспорт через BM.
Подправляете массив.
Загружаете массив через BM.
Во время импорта скрипт проходит весь массив и добавляет типы инфоблока, инфобоки и свойства инфоблока, если они не существуют. Наличие определяется фильтрацией по коду.
Есть ещё один возможный сценарий использования - это использование совместно с git.
Идея о создание такого скрипта(BM) пришла ко мне, когда я работал в крупной компании, использующая во всех проектах git. Прямых доступов к базе битрикса рабочего сайта не было, а разработка велась на локальной машине. Почти для всех изменения в базе приходилось писать скрипты. Используя BM - это задача немного облегчается.
Скрипт сыроват, но рабочий.
Как это выглядит:

Bitrix Migration - это скрипт с визуальным интерфейсом, который позволяет экспортировать структуру Инфоблоков в php-массив.
Да я знаю, что есть стандартный импорт/экспорт в XML или CSV, но это не то.
BM формирует массив типов инфоблока, сами инфоблоки и свойства инфоблока для дальнейшего импорта его, используя API Битрикса.
Как это можно использовать?
Основной сценарий использования - это копирование, клонирование или перенос инфоблоков (свойств инфоблока).
У вас есть инфоблок с некоторыми свойствами. Задача перенести свойства в другой инфоблок.
Запускаете экспорт через BM.
Подправляете массив.
Загружаете массив через BM.
Во время импорта скрипт проходит весь массив и добавляет типы инфоблока, инфобоки и свойства инфоблока, если они не существуют. Наличие определяется фильтрацией по коду.
Есть ещё один возможный сценарий использования - это использование совместно с git.
Идея о создание такого скрипта(BM) пришла ко мне, когда я работал в крупной компании, использующая во всех проектах git. Прямых доступов к базе битрикса рабочего сайта не было, а разработка велась на локальной машине. Почти для всех изменения в базе приходилось писать скрипты. Используя BM - это задача немного облегчается.
Скрипт сыроват, но рабочий.
Как это выглядит:
