Genesis - конструктор кастомных полей

Genesis - конструктор кастомных полей, ver. 1.0.5

New
Рейтинг:
Бесплатно
Работает на редакциях Битрикс:
Первый сайтСтартСтандартМалый бизнесБизнес
В случае покупки "Genesis - конструктор кастомных полей" у нас, мы предложим вам "Бесплатную базовую установку" на ваш сервер.
Помощь, техподдержка
Нужна помощь?
Поможем с настройкой "Genesis - конструктор кастомных полей"

Разработка сайта на Битрикс часто ставит перед разработчиками комплексные задачи по организации контента. Стандартные свойства инфоблоков отлично подходят для простых данных: строк, чисел или списков. Но что делать, если контент-менеджеру нужно наполнить слайдер, блок "Вопрос-Ответ" (FAQ) или список сотрудников с фотографиями и должностями внутри одной страницы?

Обычно для этого приходится создавать отдельные инфоблоки или плодить десятки свойств, что усложняет администрирование и нагружает базу данных. Представляем решение: модуль Genesis — мощный Bitrix конструктор полей, которое позволяет создавать сложные структуры данных внутри одного свойства.

Проблема стандартных подходов в Bitrix

При создании лендингов или карточек товаров часто требуется гибкость. Допустим, вам нужно создать шаблон Битрикс для вывода галереи преимуществ, где у каждого элемента есть иконка, заголовок, описание и ссылка.

Стандартные пути решения:

  1. Множественные свойства: Создать 4 разных свойства (для иконки, заголовка и т.д.) и надеяться, что контент-менеджер заполнит их в правильном порядке. Это неудобно.

  2. Отдельный инфоблок: Создать инфоблок "Преимущества" и привязывать его элементы. Это надежно, но избыточно для простых задач.

Наш модуль предлагает третий путь: кастомные поля, которые хранят сложную структуру в формате JSON, но предоставляют удобный визуальный интерфейс для редактирования.

Что такое модуль Genesis?

Модуль Genesis реализует концепцию, интуитивно знакомую многим разработчикам, но адаптированную под инфоблоки Bitrix. Это свойство типа "Строка" (хранится как JSON в базе данных), которое имеет два интерфейса:

  1. Конструктор схемы: Для разработчика.

  2. Визуальный редактор: Для контент-менеджера.

1. Визуальный конструктор полей

Фото 1: «Genesis - конструктор кастомных полей»

В настройках свойства реализован полноценный конструктор с интерфейсом. Вам больше не нужно писать JSON-схему вручную (хотя модуль позволяет и это через режим "Raw JSON").

В модуле реализован JS интерфейс, который позволяет на лету добавлять поля, указывая:

  • Ключ (Key): Техническое имя поля для использования в шаблоне.

  • Название: Подпись для менеджера.

  • Тип: Выбор из поддерживаемых типов данных.

  • Заголовок: Чекбокс, определяющий, будет ли это поле видно в свернутом списке элементов.

Поддерживаемые типы данных:

  • Текст (input).

  • Многострочный текст (textarea).

  • Картинка (с предпросмотром).

  • Файл.

  • Привязка к элементам: Позволяет выбирать элементы из других инфоблоков через стандартное окно поиска Bitrix.

  • Вложенный список (list): Уникальная возможность создавать рекурсивные структуры (список внутри списка).

2. Интерфейс редактирования контента

Фото 2: «Genesis - конструктор кастомных полей»

Модуль рендерит удобный интерфейс в карточке элемента. Это не просто текстовое поле с JSON. Это полноценная панель управления контентом, которая включает:

  • Drag & Drop сортировку: Элементы можно менять местами простым перетаскиванием.

  • AJAX загрузку файлов: Изображения и документы загружаются без перезагрузки страницы через аякс.

  • Визуализацию: Миниатюры изображений отображаются прямо в списке.

  • Вложенность: Если вы создали поле типа "Вложенный список", откроется модальное окно (Pop-up) с еще одним списком внутри.

  • Умный выбор привязок: Интеграция с окном позволяет выбирать элементы инфоблока по ID, не покидая страницу редактирования.

Технические особенности и преимущества

Использование данного модуля для задач категории bitrix создание сложных интерфейсов дает ряд преимуществ.

Хранение данных

Все данные сериализуются в JSON с флагом JSON_UNESCAPED_UNICODE.

Это означает, что в базе данных всё лежит компактно. При выборке элементов (GetList) вы не делаете лишних JOIN-запросов к таблицам свойств. Вы получаете одну строку, которую легко превратить в массив через json_decode в result_modifier.php или шаблоне компонента.

Гибкость для разработчика

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

Кроме того, в модуле предусмотрен режим "Редактировать JSON" (editRawJson), который позволяет разработчику скопировать структуру данных целиком и перенести её на другой элемент или проект.

Вложенные структуры (Nested Lists)

Одной из самых мощных фич, которую предоставляет этот модуль, является рекурсия. В коде класса SchemaBuilder присутствует обработка типа migx_list.

Это позволяет создавать многоуровневые меню или сложные каталоги внутри одного элемента. Например:

  1. Уровень 1: "Категория услуг" (Заголовок + Иконка).

  2. Уровень 2 (внутри категории): Список конкретных услуг (Название + Цена).

Стандартные инфоблоки Bitrix потребовали бы для реализации такой схемы создания разделов (секций), что не всегда удобно для визуального вывода на одной странице. Здесь же всё решается настройкой схемы JSON.
Опубликовано 02.12.2025
Версия 1.0.5
Установлено Менее 50 раз
Адаптивность Нет
Поддержка Композита Нет
Подходящие редакции Первый сайт, Старт, Стандарт, Малый бизнес, Бизнес
Бесплатно Да
Пробный период Есть
Видео https://rutube.ru/video/31ce6a183540997d677ff22592ff94aa/?r=wd