Создание компонентов и Hiload-блоков в 1С Битрикс из json массива

Разрабатывается сайт для агентства недвижимости. Сайт на 1с-битрикс. У агентства есть аккаунт в агрегаторе, где они получают выгрузку по квартирам, ЖК и пр.

Стоит задача организовать загрузку всех данных в CMS и отразить её на сайте. С отображением пока вроде вопросов нет. Есть большой вопрос к загрузке вех этих ЖК и квартир в CMS.

Мне по ссылке передается json-массив, например ЖК

Причем, например [subway_id] совпадает с таким же ID из информационного массива (опишу чуть ниже)

[0] => Array
        (
            [_id] => 65bcbd
            [crm_id] => 5498829783004827
            [name] => Название ЖК
            [address] => Array
                (
                    [0] => ул Адреса
                )

            [geometry] => Array
                (
                    [coordinates] => Array
                        (
                            [0] => 00.000
                            [1] => 00.000
                        )

                    [type] => Point
                )

            [description] => Жилой комплекс включает в себя 4 кирпичных дома высотой в 8 этажей. 


            [subway] => Array
                (
                    [0] => Array
                        (
                            [distance_time] => 10
                            [distance_type] => 2
                            [subway_id] => 6184fe2464c4464d3596902c
                        )

                )

            [district] => 6187ab1264c446329e974bce
            [renderer] => Array
                (
                    [0] => ссылка на изображение 1
                    [1] => ссылка на изображение 2
                )

            [plan] => Array
                (
                    [0] => ссылка на планировку
                )

        )

Структура, очевидно, следующая

ЖК -> Дом -> Квартира - Все это нужно превратить в компоненты (Скорее всего в отдельные, поскольку поля свойств будут разные, не совсем я уверен, что прав, но думаю во так) и присвоить им свойства, этаж, площадь, метро , отделка и т.д.

Так же есть массивы чисто информационные, метро, отделка и пр.

Вот пример.

Array
(
    [0] => Array
        (
            [_id] => 58c
            [name] => Подчистовая
            [crm_id] => 2
        )

    [1] => Array
        (
            [_id] => 59b
            [name] => С ремонтом
            [crm_id] => 10
        )

    [2] => Array
        (
            [_id] => 58c
            [name] => С мебелью
            [crm_id] => 4
        )

    [3] => Array
        (
            [_id] => 58c6
            [name] => Без отделки
            [crm_id] => 0
        )

    [4] => Array
        (
            [_id] => 58c66
            [name] => Чистовая
            [crm_id] => 1
        )

    [5] => Array
        (
            [_id] => 606
            [name] => Без стен
            [crm_id] => 20
        )

)

Я предполагаю, что их нужно превратить в Hiload-блоки и тянуть в свойства компонентов.

Теперь собственно пул вопросов.

  1. Как мне создать из массива Hiload-блок, не прибегая к покупке решений из магазина
  2. Как мне Из массивов сделать компоненты и присвоить им свойства.
  3. Как организовать проверку наличия в списке элементов, чтобы не дублировались эти самые элементы

Буду очень благодарен за помощь! Спасибо!


Ответы (0 шт):