+7 499 938 8452 пн.-пт. 10:00 – 17:00
Есть идея по этому модулю?

Опишите доработку или сценарий — обсудим вместе с другими клиентами.

Все идеи для обсуждения

Отправка доступна после входа или регистрации. Текст формы сохранится.

Bitrix произвольные поля

Менее 50 раз установок
Ставится из 1С-Битрикс Marketplace за пару минут — вкладка «Установка».

Скриншоты

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

Число установок:
Менее 50 раз
Версия:
0.2.2
Адаптивность:
Нет
Поддержка композита:
Нет
Дата публикации:
02.10.2026

Совместимые редакции

Описание

Bitrix произвольные поля (bitrix custom fields)
Идентификатор модуля: rozmuar.bcf

Коротко

Модуль добавляет пользовательский тип свойства инфоблока —
«Произвольные поля». Это конструктор полей для карточки элемента: в настройках свойства администратор описывает произвольный набор полей, редактор элемента строит по этому описанию форму ввода, а на страницу значение отдаётся готовой структурой данных для вывода в шаблонах.

Функционально решение близко к WordPress ACF (Advanced Custom Fields): одно свойство заменяет десяток отдельных свойств инфоблока и даёт вложенные структуры, которые штатными средствами Bitrix не собрать.

Что решает
  • Не нужно заводить отдельное свойство инфоблока под каждое поле карточки и

 отдельный инфоблок под каждую повторяющуюся секцию.

  • Структура карточки настраивается контент-менеджером в интерфейсе, без

 программиста и без правки кода шаблонов при добавлении поля.

  • Значение в шаблоне доступно одним обращением — плоским массивом

 код => значение, вложенные группы и повторители — вложенными массивами.

Как работает
  1. Настройка свойства (инфоблок → «Свойства» → тип    «Произвольные поля (конструктор форм)», вкладка «Дополнительно»).    Для каждого поля задаются: код, метка, тип, инструкция для редактора, признак обязательности и настройки под конкретный тип. Порядок полей    меняется перетаскиванием за ручку ⠿.
  2. Заполнение в карточке элемента: модуль рендерит форму по описанию — поля нужных типов, загрузка изображений и файлов штатными средствами    Bitrix, живой предпросмотр видео, поиск и выбор элементов инфоблока    перетаскиванием.
  3. Вывод: значение свойства приходит на страницу готовым массивом прямо
  4. Отдельной системы настроек модуль не имеет

  в VALUE:
  $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'].

Типы полей

Строка - однострочный текст
Текст (многострочный) - textarea
Число - целое/дробное, с ограничениями min / max / step
Ползунок (range) - число ползунком, min / max / step
E-mail - поле с проверкой формата
URL - поле с проверкой формата
Пароль - поле с маскировкой ввода
Визуальный редактор - WYSIWYG с переключением в HTML; HTML санитизируется
Сообщение - статичный текст-подсказка в форме, значение не хранит
Видео - ссылка на YouTube / Vimeo / видеофайл; живой предпросмотр в форме, встраивание (<iframe> / <video>) на странице
Выбор элементов инфоблока - инфоблок фиксируется в настройках поля; в карточке — две колонки «Все элементы» / «Выбранные», поиск по названию, перенос и сортировка перетаскиванием, одиночный или множественный выбор, лимит; значение — упорядоченный массив ID
Список (select) - выпадающий список; допускается множественный выбор
Флажки (checkbox) - набор флажков (множественный выбор)
Переключатель (radio) - выбор одного значения
Группа кнопок - то же, что radio, кнопками  Да / Нет  булев флаг
Ссылка - URL + текст + target; схема URL проверяется
Изображение - одно изображение через CFile, с превью
Файл - один произвольный файл через CFile
Галерея - несколько изображений, с лимитом
Дата - выбор даты
Дата и время - выбор даты и времени
Время - выбор времени
Цвет - выбор цвета
Вкладка - визуальный разделитель формы, значение не хранит
Группа полей - один вложенный набор полей (объект)
Повторитель - повторяющиеся вложенные наборы полей (массив объектов)

ОПИСАНИЕ УСТАНОВКИ И НАСТРОЙКИ РЕШЕНИЯ

Bitrix произвольные поля (bitrix custom fields)
Идентификатор модуля: rozmuar.bcf


1. ТРЕБОВАНИЯ

Продукт: 1С-Битрикс: Управление сайтом или Битрикс24 в коробке, ядро D7.
Модули: «Информационные блоки» (iblock) — должен быть установлен.
PHP: 7.4 или новее.
СУБД: MySQL.
Права: администратор портала.

Перед установкой рекомендуется сделать резервную копию файлов и базы данных.


2. УСТАНОВКА

2.1. Откройте в панели управления раздел Marketplace — Установленные решения
(адрес /bitrix/admin/partner_modules.php).

2.2. Найдите в списке «Bitrix произвольные поля (bitrix custom fields)» и
нажмите «Установить». Подтвердите установку.

При установке модуль:
- регистрируется в системе;
- создаёт таблицу rozmuar_bcf_value (развёрнутый снимок значений) и индекс
 по полям ELEMENT_ID, PROPERTY_ID;
- регистрирует пользовательский тип свойства инфоблока и обработчики событий
 информационных блоков (OnIBlockPropertyBuildList,
 OnBeforeIBlockElementAdd, OnBeforeIBlockElementUpdate,
 OnBeforeIBlockElementDelete, OnAfterIBlockElementAdd,
 OnAfterIBlockElementUpdate);
- запускает отсчёт демонстрационного периода (5 дней).

2.3. ОБЯЗАТЕЛЬНО ПОСЛЕ УСТАНОВКИ — СБРОСИТЬ КЕШ.

Поле «Выбор элементов инфоблока» использует AJAX-контроллер, который
регистрируется через файл .settings.php. Чтобы платформа его увидела, после
установки (или после обновления с версии ниже 0.2.0) очистите кеш:

Настройки — Настройки продукта — Автокеширование
(адрес /bitrix/admin/cache.php) — кнопка «Очистить весь кеш».

Без этого шага в поле «Выбор элементов инфоблока» левая колонка «Все элементы»
будет пустой (в ней выводится сообщение о причине).


3. СОЗДАНИЕ СВОЙСТВА

3.1. Откройте Контент — Информационные блоки — тип инфоблока — нужный
инфоблок — Свойства (или «Настроить», вкладка «Свойства»).

3.2. Добавьте свойство. В колонке «Тип» выберите
«Произвольные поля (конструктор форм)».

3.3. Задайте код свойства (по нему значение читается в шаблоне, например ACF)
и символьный код, сохраните.

Свойство всегда одиночное (не множественное) — один набор полей на элемент.
Множественность обеспечивают типы «Повторитель» и «Галерея» внутри набора.


4. НАСТРОЙКА НАБОРА ПОЛЕЙ

Откройте свойство на редактирование и перейдите на вкладку «Дополнительно».
Здесь находится конструктор полей. Кнопка «Добавить поле» добавляет строку.

Для каждого поля задаются:
- Код — латиница, цифры, знак подчёркивания; ключ поля в значении;
- Метка — подпись поля в форме элемента;
- Тип — один из типов (см. пункт 4.1);
- Инструкция — подсказка под полем для редактора;
- Обязательное — проверка заполнения при сохранении элемента.

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

4.1. Дополнительные настройки по типам полей:

- Число, Ползунок — минимум, максимум, шаг.
- Список, Флажки, Переключатель, Группа кнопок — список вариантов построчно
 в формате «значение : подпись», признак множественности, признак
 «разрешить пустое значение».
- Галерея — максимальное количество изображений.
- Сообщение — текст сообщения (выводится в форме как есть, значение не
 хранится).
- Видео — отдельных настроек нет; редактор вставляет ссылку в карточке
 элемента.
- Выбор элементов инфоблока — инфоблок из списка (показываются только
 доступные вам), признак «несколько» (по умолчанию включён), лимит
 количества.
- Группа полей, Повторитель — вложенный конструктор подполей (та же форма,
 вложенность до 5 уровней).

Сохраните свойство.


5. ЗАПОЛНЕНИЕ В КАРТОЧКЕ ЭЛЕМЕНТА

Откройте Контент — инфоблок — элемент на редактирование. У свойства
отображается форма настроенных полей:

- Изображение, Файл, Галерея — стандартный выбор файла платформы (не вставка
 ссылки). Файлы сохраняются в каталог /upload/rozmuar.bcf/.
- Видео — вставьте ссылку на YouTube, Vimeo или прямую ссылку на видеофайл;
 под полем появится предпросмотр.
- Выбор элементов инфоблока — две колонки: слева «Все элементы» (с
 постраничной подгрузкой и поиском по названию сверху), справа «Выбранные».
 Перенос — перетаскиванием или двойным щелчком, крестик — убрать, порядок в
 «Выбранных» задаётся перетаскиванием.
- Повторитель — кнопка добавления группы, удаление и сортировка групп.

5.1. Ограничение на объём загрузки.

Одновременная загрузка большого количества или объёма файлов ограничена
настройками PHP post_max_size и upload_max_filesize. При превышении форма
предупредит и не сохранит изменения (чтобы не потерять данные). Крупные файлы
загружайте частями или увеличьте лимиты PHP.


6. ВЫВОД ЗНАЧЕНИЯ В ШАБЛОНЕ

Значение приходит плоским массивом «код => значение» в элементе VALUE:

   $res = CIBlockElement::GetByID($elementId);
   $element = $res->GetNextElement();
   $props = $element->GetProperties();
   $data = $props['ACF']['VALUE'];

Примеры по типам:

   // строка, текст, число, дата, цвет — скалярное значение
   echo htmlspecialcharsbx($data['headline']);

   // визуальный редактор — уже санитизированный HTML
   echo $data['body'];

   // изображение — идентификатор файла
   $img = CFile::GetPath($data['photo']);

   // галерея — массив идентификаторов файлов
   foreach ($data['gallery'] as $fileId) {
       echo '<img src="' . CFile::GetPath($fileId) . '">';
   }

   // выбор элементов инфоблока — массив идентификаторов в заданном порядке
   $ids = $data['related'];
   $rs = CIBlockElement::GetList(['SORT' => 'ASC'], ['ID' => $ids], false, false,
       ['ID', 'NAME', 'DETAIL_PAGE_URL']);
   while ($row = $rs->GetNext()) { /* ... */ }

   // группа полей — вложенный массив
   echo $data['author']['name'];

   // повторитель — массив вложенных массивов
   foreach ($data['features'] as $item) {
       echo $item['title'], ': ', $item['text'];
   }

Для отчётов и произвольных SQL-выборок доступен развёрнутый снимок значения в
таблице rozmuar_bcf_value (колонки ELEMENT_ID, PROPERTY_ID, GROUP_INDEX,
FIELD_CODE, FIELD_TYPE, VALUE_TEXT, VALUE_FILE_ID).


7. ОБНОВЛЕНИЕ МОДУЛЯ

Обновления приходят через систему обновлений 1С-Битрикс
(адрес /bitrix/admin/update_system.php) и устанавливаются автоматически.
После обновления с версий ниже 0.2.0 повторите сброс кеша (пункт 2.3).


8. УДАЛЕНИЕ

Marketplace — Установленные решения — модуль — «Удалить».

- Без флага «Сохранить данные» удаляется таблица rozmuar_bcf_value; события
 и тип свойства снимаются с регистрации.
- Значения в свойствах инфоблока и загруженные файлы при удалении модуля не
 стираются.
- Счётчик демонстрационного периода намеренно сохраняется (переустановка не
 продлевает демо-период).


9. ДИАГНОСТИКА

- В поле «Выбор элементов инфоблока» левая колонка пустая.
 Причина: не сброшен кеш после установки или обновления. Решение: пункт 2.3.
 В самой колонке выводится точная причина (не выбран инфоблок, контроллер
 недоступен, нет доступных элементов).

- Сообщение «BX.ajax недоступен на этой странице».
 Причина: страница открыта вне стандартной административной панели.
 Решение: используйте штатную карточку элемента.

- Не сохраняются значения при загрузке многих файлов.
 Причина: превышен post_max_size. Решение: пункт 5.1.

- Некорректные символы в значениях на сайте с кодировкой cp1251.
 Модуль поддерживает cp1251; проверьте, что константы SITE_CHARSET и
 LANG_CHARSET заданы корректно.

- В карточке элемента показана плашка «режим просмотра».
 Причина: истёк демонстрационный период (5 дней). Решение: приобретите
 решение на Marketplace. Сохранённые данные и вывод на сайте продолжают
 работать в любом случае.

Техническая поддержка: info@rozmuar.ru
Время работы с 9:00 до 19:00
сайт rozmuar.ru.

Техподдержка по почте info@rozmuar.ru
или в telegram @shaadanio

Установите этот модуль прямо сейчас!

Для этого укажите адрес сайта:

пример: https://www.site.ru

Подтвердите что сама лицензия у вас куплена

Bitrix произвольные поля
Bitrix произвольные поля
Бесплатно

Каталог для ИИ