Модуль импорта файлов формата YML в Битрикс - большое обновление

Модуль импорта файлов формата YML в Битрикс - большое обновление

11 декабря 2014


Автор: Бедросова Юлия
Модулю импорта из YML в Битрикс  - почти год. В течение года мы выкатывали в маркетплейс исправления мелких багов, но практически не расширяли функционал модуля, хотя дописали к модулю очень много фич по индивидуальным заказам клиентов.

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

После долгих раздумий и ведра выплаканных слез, мы придумали, как сделать, чтобы новая версия не зависела от старой и не ломала импорт старым клиентам. У модуля теперь 2 независимых ветки: 5.0 и 6.0 Они загружаются в одном модуле, работают на разных классах, создают в системе 2 разных, не мешающих друг другу и независимых типов импорта. IMPORT_YML и IMPORT_YML_6_0. Второй вид YML импорта загружается в текущем глобальном обновлении, никак не затрагивая работу уже существующих настроенных импортов.

Фото 1: «Модуль импорта файлов формата YML в Битрикс - большое обновление»

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


Фото 2: «Модуль импорта файлов формата YML в Битрикс - большое обновление»

Чего нового в версии 6.0 ?

1 Самые глобальные изменения коснулись настроек импорта свойств. Раньше все свойства из YML файла записывались в одно множественное свойство, а для конкретных клиентов мы разбрасывали свойства, куда нужно, посредством кастомизации событий записи и апдейта элемента инфоблока. Это было неудобно.



Фото 3: «Модуль импорта файлов формата YML в Битрикс - большое обновление»


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

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

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

В ближайших планах - обкатать и отладить версию 6.0, которая сейчас доступна для скачивания как бета-обновление - мы подарим ее нескольким первым клиентам. В дальнейших планах - добавить импорту возможность загружать несколько видов цен и склеивать товары разных цветов и размеров в один товар с торговыми предложениями.