Как перенести всю структуру каталога товаров с одного сайта на другой в 1с-Битрикс?

Задача. Есть заполненный сайт на Битриксе, с многоуровневой структурой, категориями/подкатегориями, товарами, свойствами. Допустим вы хотите сделать еще один сайт, под свои какие то нужды. И вам необходимо перенести весь каталог с одного сайта на другой, желательно с возможностью выбора из большой структуры необходимого количества и свойств товара, уровней вложенности, а также быстро и без сложностей.

Какие есть варианты и чем они плохи?
Можно выгрузить структуру каталога в Exel / CSV, а оттуда на другой сайт, с помощью сторонних или штатных решений, но минусы в том, что нельзя задать глубину вложенности (будет только 1 уровень переносить), содержат ряд требований, не соблюдение которых чревато кривым переносом данных. Так же придется очень много работать ручками, от 5 часов и более, в зависимости от размера каталога или оплатить работу специалиста. В добавок, слишком ограниченный функционал выраженный в отсутствии широкого набора свойств и полей, который придется тоже создавать самому на том сайте, куда переносится весь каталог.

А обмен с 1С сохранится? При переносе товаров на новый сайт продолжит ли работать обмен с 1С без изменения настроек кроме адреса нового сайта? - Обмен с 1с тут не причем, если вы хотите в одну 1С оба сайта настроить то в 1С просто делаются два коннектора к разным сайтам, и тут как раз чтобы не было проблем с задвоением каталога, надо делать синхронизацию между сайтами не через Exel или CSV форматы, а по API.

Для решения этой задачи наиболее удобным и гибким способом устанавливаются 2 модуля из приложения marketplace от Bitrix: "дополнительные REST - методы" и "экспорт на порталы + API" Дополнительные REST - методы https://www.acrit-studio.ru/market/module/acrit.restext/

Берем первый модуль, устанавливаем его на тот сайт, куда будем перекидывать каталоги. Выбираем в вкладке настройки модуля "Дополнительные REST-методы" и появляется код вебхука, с помощью которого организовывается связь с сайтом "донором".

Как перенести всю структуру каталога товаров с одного сайта на другой в 1с-Битрикс?
Как перенести всю структуру каталога товаров с одного сайта на другой в 1с-Битрикс?

Далее на другом сайте "доноре" создается профиль "1с-битрикс", где поле плагин, такой профиль есть только в старшей редакции второго модуля, поэтому устанавливаем на сайт "донор" модуль "экспорт на порталы + API." Соответсвенно, настраиваем адрес принимающего сайта (его домен); код вебхука, который мы получили на первом сайте; id пользователя, тоже берем с первого сайта, где код вебхука; id инфоблока, выбирает исходя из того, какой инфоблок будем переносить, в нашем примере 16.

Как перенести всю структуру каталога товаров с одного сайта на другой в 1с-Битрикс?
Как перенести всю структуру каталога товаров с одного сайта на другой в 1с-Битрикс?

Возвращаемся на сайт, который будет принимать, находим вкладку экспорт полей, выбираем поле инфоблок назначения "ставим тот, где выбирали id, в нашем примере 16" и в поле откуда выгружать данные полей выбираем "Каталог общий", и запускаем синхронизацию.

Как перенести всю структуру каталога товаров с одного сайта на другой в 1с-Битрикс?

В этот момент, на сайте "доноре" на этом каталоге, инфоблоке что мы выбрали (16), создаются все необходимые свойства товара, все они синхронизируются точь в точь с теми, что есть на сайте доноре.

Как перенести всю структуру каталога товаров с одного сайта на другой в 1с-Битрикс?

После этого, в настройках инфоблока, мы настраиваем связи, проставливаем что и куда вам нужно.

Как перенести всю структуру каталога товаров с одного сайта на другой в 1с-Битрикс?

И после этого запускаем экспорт, можно запустить в фоне или просто руками через кнопочку.

Как перенести всю структуру каталога товаров с одного сайта на другой в 1с-Битрикс?

И каталог с этого сайта поедет на каталог что мы выбирали изначально (в нашем случае 16). Через модули создается связь по REST API, а не через выгрузку файла, и все гарантированно и быстро передается на другой сайт, со всеми свойствами, которые создаются на другом сайте автоматически, исключая человеческий фактор.

Задача не сложная, вполне легко решается с помощью модулей, достаточно базовых знаний cms 1с-bitrix.

Дополнительно хочется добавить, что это не единственные возможности по использованию модулей, настроек много, и позволяют они сделать много разных вещей, что нельзя через базовый функционал 1с-битрикс.

1
3 комментария

Оч станно, что тут такого рода статьи, по факту - экспорт каталога в XML, в xml меняем ID инфоблока, картинки закидываем на новый сайт в uploads в той папке, которой выдаст базовый экспорт. Для созранения выгрузки - переписываем xml id инфоблока. ВСЕ....

Если бы все так было просто, все бы так и делали, но никто так почему то не делает)