Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

Top Man Digital: составные свойства инфоблока

Повторяющиеся блоки данных в Битриксе принято собирать из нескольких множественных свойств: одно под название, другое под значение, третье под картинку. Порядок держится на совпадении индексов, и стоит редактору удалить одну строку не там — данные разъезжаются между собой. Модуль убирает эту схему: одно свойство хранит строки, а строка — это набор именованных полей.ВозможностиСтрока — набор полей. Схема задаётся один раз в настройках свойства: код, название, тип, обязательность, сортировка. Число полей в строке не ограничено — проверено на 30 полях в одной строке.15 типов полей: строка, текст, HTML с визуальным редактором, число, флажок, список (выпадающий или переключателями), ссылка, дата (с временем или без), цвет, файл, изображение, элемент инфоблока, раздел инфоблока, пользователь, а также проброс любого чужого типа свойства.Проброс чужих типов. Если на сайте стоит модуль со своим типом свойства — справочник (highloadblock), «Деньги», «Привязка к элементу с автозаполнением», дата-время — его виджет можно поставить полем внутри строки. Модуль вызывает чужой тип напрямую, ничего не эмулируя.Редактор прямо в форме элемента. Строки добавляются без перезагрузки страницы, перетаскиваются мышью, сворачиваются в одну подпись. У свёрнутой строки в заголовке — значение поля, назначенного заголовком.Файлы принадлежат строке. Файл живёт вместе со строкой: удалили строку — файл убран, скопировали элемент — файл продублирован, а не отдан в общее владение. Файл, вставленный из медиабиблиотеки, при этом остаётся её файлом и только отвязывается.Поиск по содержимому строк. Для каждого поля отдельно отмечается, попадает ли оно в поисковый индекс сайта. Штатный поиск Битрикса находит элементы по тексту внутри строк.Чтение из шаблона одной строкой. `Rows::get($elementId, 'PROP_CODE', $iblockId)` возвращает объекты строк: `$row->get('TITLE')` отдаёт экранированное значение, `$row->label('UNIT')` — подпись варианта списка, `$row->file('PHOTO')` — массив файла, `$row->user('MANAGER')` — данные пользователя. Файлы и пользователи подтягиваются лениво: страница, печатающая одни заголовки, за них не платит.Запись из кода. `Rows::save()` пишет строки, не трогая остальные свойства элемента.Три запроса независимо от числа строк. Замер на элементе с 200 строками и на списке из 20 элементов: наш слой добавляет к работе ядра не больше трёх запросов, потому что строки читаются пакетно с префетчем.Фоновая уборка. Агент убирает строки удалённых элементов и свойств, связи без строк и осиротевшие файлы. По умолчанию — только отчёт; удаление включается настройкой.Страница модуля со списком составных свойств сайта, числом строк и файлов, отчётом уборщика и предупреждением о лимите `max_input_vars` для этого сервера.Русский и английский интерфейс, разграничение прав доступа штатными группами Битрикса, свой раздел меню в админке.

Top Man Digital: составные свойства инфоблока

Top Man Digital: составные свойства инфоблока

Скриншоты
Описание

Технические данные

Опубликовано:
14.09.2026
Версия:
1.0.0
Установлено:
Менее 50 раз
Подходящие редакции:
«Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Бизнес»
Адаптивность:
Нет
Поддержка Композита:
Нет
Совместимо с Сайты24
Нет

Пользовательское соглашение

Описание

Повторяющиеся блоки данных в Битриксе принято собирать из нескольких множественных свойств: одно под название, другое под значение, третье под картинку. Порядок держится на совпадении индексов, и стоит редактору удалить одну строку не там — данные разъезжаются между собой. Модуль убирает эту схему: одно свойство хранит строки, а строка — это набор именованных полей.

Возможности

  • Строка — набор полей. Схема задаётся один раз в настройках свойства: код, название, тип, обязательность, сортировка. Число полей в строке не ограничено — проверено на 30 полях в одной строке.
  • 15 типов полей: строка, текст, HTML с визуальным редактором, число, флажок, список (выпадающий или переключателями), ссылка, дата (с временем или без), цвет, файл, изображение, элемент инфоблока, раздел инфоблока, пользователь, а также проброс любого чужого типа свойства.
  • Проброс чужих типов. Если на сайте стоит модуль со своим типом свойства — справочник (highloadblock), «Деньги», «Привязка к элементу с автозаполнением», дата-время — его виджет можно поставить полем внутри строки. Модуль вызывает чужой тип напрямую, ничего не эмулируя.
  • Редактор прямо в форме элемента. Строки добавляются без перезагрузки страницы, перетаскиваются мышью, сворачиваются в одну подпись. У свёрнутой строки в заголовке — значение поля, назначенного заголовком.
  • Файлы принадлежат строке. Файл живёт вместе со строкой: удалили строку — файл убран, скопировали элемент — файл продублирован, а не отдан в общее владение. Файл, вставленный из медиабиблиотеки, при этом остаётся её файлом и только отвязывается.
  • Поиск по содержимому строк. Для каждого поля отдельно отмечается, попадает ли оно в поисковый индекс сайта. Штатный поиск Битрикса находит элементы по тексту внутри строк.
  • Чтение из шаблона одной строкой. `Rows::get($elementId, 'PROP_CODE', $iblockId)` возвращает объекты строк: `$row->get('TITLE')` отдаёт экранированное значение, `$row->label('UNIT')` — подпись варианта списка, `$row->file('PHOTO')` — массив файла, `$row->user('MANAGER')` — данные пользователя. Файлы и пользователи подтягиваются лениво: страница, печатающая одни заголовки, за них не платит.
  • Запись из кода. `Rows::save()` пишет строки, не трогая остальные свойства элемента.
  • Три запроса независимо от числа строк. Замер на элементе с 200 строками и на списке из 20 элементов: наш слой добавляет к работе ядра не больше трёх запросов, потому что строки читаются пакетно с префетчем.
  • Фоновая уборка. Агент убирает строки удалённых элементов и свойств, связи без строк и осиротевшие файлы. По умолчанию — только отчёт; удаление включается настройкой.
  • Страница модуля со списком составных свойств сайта, числом строк и файлов, отчётом уборщика и предупреждением о лимите `max_input_vars` для этого сервера.
  • Русский и английский интерфейс, разграничение прав доступа штатными группами Битрикса, свой раздел меню в админке.

Отзывы (0)
Обсуждения (0)
Здесь пока никто ничего не написал. Будьте первым.
Установка
  1. Маркетплейс → «Установить решение», либо загрузка архива в «Marketplace → Установленные решения».
  2. Модуль требует установленный модуль «Информационные блоки».
  3. После установки в левом меню админки появляется раздел Top Man Digital → Составные свойства.
Быстрый старт (5 минут)

  1. Контент → Инфоблоки → тип инфоблока → ваш инфоблок → вкладка «Свойства» (или «Свойства» в списке инфоблоков).
  2. Добавьте свойство, тип — «Составное свойство (строки полей)», отметьте «Множественное».
  3. В настройках свойства опишите поля строки: код латиницей, название, тип. Отметьте, какое поле служит заголовком свёрнутой строки и какие поля попадают в поиск. При необходимости задайте максимум строк.
  4. Сохраните свойство и откройте любой элемент инфоблока: под названием свойства появится редактор строк с кнопкой «Добавить строку».
  5. В шаблоне выводите строки через API:
use Topman\Fieldrows\Rows;

   foreach (Rows::get($arResult['ID'], 'FEATURES', $arResult['IBLOCK_ID']) as $row) {
       echo '<li>' . $row->get('TITLE') . ' — ' . $row->get('VALUE') . '</li>';
   }


Поддержка
Рабочее время: пн-пт 10:00-18:00 МСК по производственному календарю.
Почта для связи: marketplace@topman.dev
TG для связи: https://t.me/digitaltopman
Время ответа - 2 рабочих дня.

Другие решения разработчика

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки