Импорт из XML в существующий инфоблок
Запись от 29.03.2015
Задача: взять элементы с одного сайта и импортировать в другой сайт.
Столкнулся с такой проблемой - при импорте создавался новый инфоблок и элементы никак не хотели загружаться в "свой" инфоблок.
При чем, проблема была на двух сайтах. В одном случае было два сайта - тестовый и боевой, структура инфоблоков абсолютно идентичная, вплоть, до их ID. Во втором случае это был классификатор цветов товаров на совершенно разных сайтах.
Итак, в суть дела в тех ID (<ИД> и <ИдКлассификатора> ), что мы получаем в файле xml. На первый взгляд может показаться, что это ID инфоблоков в которые будет выгружаться содержимое xml-файла, но это не так. Могу предположить, что в этих полях указан внешний код инфоблоков. Как его посмотреть в админке я не нашел, поэтому порядок переноса элементов инфоблока (без свойств) я нашел следующий:
P.S. Крайне негодую, что этого функционала до сих пор нет в битриксе, без него импорт/экспорт xml в админке выглядит недоделанным. Зачем что-то выгружать и импортировать, если нет возможности назначить конкретный инфоблок для импорта.
P.P.S. Если вдруг выдастся свободный вечер, сделаю модуль, что бы в админке был такой функционал.
Столкнулся с такой проблемой - при импорте создавался новый инфоблок и элементы никак не хотели загружаться в "свой" инфоблок.
При чем, проблема была на двух сайтах. В одном случае было два сайта - тестовый и боевой, структура инфоблоков абсолютно идентичная, вплоть, до их ID. Во втором случае это был классификатор цветов товаров на совершенно разных сайтах.
Итак, в суть дела в тех ID (<ИД> и <ИдКлассификатора> ), что мы получаем в файле xml. На первый взгляд может показаться, что это ID инфоблоков в которые будет выгружаться содержимое xml-файла, но это не так. Могу предположить, что в этих полях указан внешний код инфоблоков. Как его посмотреть в админке я не нашел, поэтому порядок переноса элементов инфоблока (без свойств) я нашел следующий:
- Делаем экспорт элементов с сайта донора;
- Перекидываем xml файл и его папку в сайт акцептор;
- Делаем экспорт элементов интересующего инфоблока с сайта акцептора;
- Смотрим, какие <ИД> и <ИдКлассификатора> получаются в файле-выгрузки акцептора;
- Переписываем эти значения в xml-файл выгрузку с сайта донора;
- На сайте акцепторе запускаем импорт из xml.
P.S. Крайне негодую, что этого функционала до сих пор нет в битриксе, без него импорт/экспорт xml в админке выглядит недоделанным. Зачем что-то выгружать и импортировать, если нет возможности назначить конкретный инфоблок для импорта.
P.P.S. Если вдруг выдастся свободный вечер, сделаю модуль, что бы в админке был такой функционал.