Что умеет решение
Модуль Bitrix произвольные поля (rozmuar.bcf)
Идентификатор модуля: rozmuar.bcf
Модуль добавляет пользовательский тип свойства инфоблока «Произвольные поля». Это конструктор полей для карточки элемента: администратор описывает набор полей в настройках свойства, редактор элемента строит форму ввода на основе этого описания, а на страницу значение передаётся готовой структурой данных для вывода в шаблонах.
Функционально решение аналогично плагину Advanced Custom Fields для WordPress. Одно свойство заменяет множество отдельных свойств инфоблока и позволяет создавать вложенные структуры, которые невозможно реализовать стандартными средствами Bitrix.
Преимущества:
Не требуется создавать отдельное свойство инфоблока под каждое поле карточки или отдельный инфоблок под каждую повторяющуюся секцию.
Структура карточки настраивается контент-менеджером в интерфейсе без участия программиста и без правки кода шаблонов при добавлении поля.
Значение в шаблоне доступно одним обращением: простые значения представлены плоским массивом код-значение, а вложенные группы и повторители — вложенными массивами.
Настройка свойства в инфоблоке: раздел «Свойства», тип «Произвольные поля (конструктор форм)», вкладка «Дополнительно». Для каждого поля указываются код, метка, тип, инструкция для редактора, флаг обязательности и параметры, специфичные для выбранного типа. Порядок полей изменяется перетаскиванием за ручку ⠿.
Заполнение в карточке элемента: модуль формирует форму согласно описанию. Поддерживаются поля нужных типов, загрузка изображений и файлов штатными средствами Bitrix, предпросмотр видео в реальном времени, а также поиск и выбор элементов инфоблока методом перетаскивания.
Вывод данных: значение свойства поступает на страницу в виде готового массива в поле VALUE. Отдельной системы настроек у модуля нет.
Пример получения данных через API:
$res = CIBlockElement::GetByID($elementId);
$element = $res->GetNextElement();
$props = $element->GetProperties();
$data = $props['ACF']['VALUE'];
Массив содержит данные в следующем формате:
[
'headline' => 'Заголовок',
'gallery' => [128, 129, 130], // ID файлов
'author' => [45], // ID выбранных элементов инфоблока
'features' => [ // Повторитель
['title' => 'Быстро', 'text' => '...'],
['title' => 'Надёжно', 'text' => '...'],
],
]
Альтернативный способ получения данных: CIBlockElement::GetProperty(...)->Fetch()['VALUE'].
Модуль «Bitrix: произвольные поля» расширяет функциональность инфоблоков, предоставляя набор специализированных типов полей для форм.
Текстовое поле поддерживает многострочный ввод через элемент textarea. Числовые поля принимают целые или дробные значения с возможностью настройки минимального, максимального значения и шага. Ползунок (range) позволяет вводить числовые данные с помощью слайдера с теми же ограничениями.
Поля E-mail и URL автоматически проверяют корректность формата. Поле Пароль скрывает вводимые символы. Визуальный редактор работает в режиме WYSIWYG с переключением в HTML-код, при этом содержимое проходит санитизацию.
Поле Сообщение отображает статичный текст-подсказку и не сохраняет значение. Тип Видео поддерживает ссылки на YouTube, Vimeo или загрузку видеофайла с живым предпросмотром в форме и возможностью встраивания через теги iframe и video на странице.
Выбор элементов инфоблока фиксирует конкретный инфоблок в настройках, предлагая в карточке две колонки «Все элементы» и «Выбранные» с поиском по названию, перетаскиванием для сортировки и переноса, поддержкой одиночного или множественного выбора с лимитом; значение сохраняется как упорядоченный массив ID.
Выпадающий список (select) допускает множественный выбор. Набор флажков (checkbox) также поддерживает множественный выбор. Переключатель (radio) позволяет выбрать только одно значение. Группа кнопок реализует ту же логику, что и radio, но в виде кнопок Да/Нет для булевых флагов.
Поле Ссылка объединяет URL, текст и атрибут target с проверкой схемы URL. Тип Изображение загружает одну картинку через CFile с отображением превью. Тип Файл позволяет загрузить один произвольный файл через CFile. Галерея поддерживает загрузку нескольких изображений с установленным лимитом.
Модуль «Произвольные поля» для Bitrix поддерживает следующие типы данных: «Дата» для выбора календарной даты, «Дата и время» для выбора даты и времени, «Время» для выбора времени, «Цвет» для выбора цвета. Элемент «Вкладка» служит визуальным разделителем формы и не сохраняет значение. «Группа полей» представляет собой один вложенный набор полей, хранящийся как объект. «Повторитель» позволяет создавать повторяющиеся вложенные наборы полей, хранящиеся как массив объектов.
General iT может подключить «Bitrix произвольные поля», настроить его и проверить корректность интеграции с текущим сайтом.