Genesis - конструктор кастомных полей
Описание
Гибкая структура данных без лишних инфоблоков
Разработка на 1С-Битрикс часто упирается в ограничения стандартных свойств. Для простых строк, чисел или списков их хватает, но когда на одной странице нужно разместить слайдер, блок с вопросами и ответами или карточки сотрудников с фото и должностями, начинаются сложности. Обычный путь — создавать отдельные инфоблоки или множить десятки свойств. Это перегружает базу данных и запутывает интерфейс. Модуль Genesis предлагает другой подход: одно свойство, которое умеет хранить сложную структуру внутри себя. Вы получаете гибкость без лишней головной боли, а контент-менеджер — понятный инструмент для работы.
Вместо того чтобы плодить сущности, вы просто описываете нужную схему данных. Например, для блока преимуществ вам не нужно заводить четыре отдельных свойства под иконку, заголовок, описание и ссылку. Достаточно одного поля, которое собирает всё воедино. Это упрощает администрирование и ускоряет разработку. Модуль хранит данные в формате JSON, но на стороне админки показывает их как удобный визуальный редактор. Никакой ручной работы с кодом для каждого нового элемента — всё настраивается мышкой.
Конструктор схемы для разработчика и визуальный редактор для менеджера
У модуля два интерфейса, заточенных под разные задачи. Первый — это конструктор схемы, который работает в настройках свойства. Разработчику не нужно вручную писать JSON: интерфейс позволяет добавлять поля, задавать им ключ, название и тип. Поддерживаются текст, многострочный текст, картинка с предпросмотром, файл, привязка к элементам инфоблоков и вложенный список. Если нужно, можно переключиться в режим «Raw JSON» и править схему напрямую — это удобно для переноса структуры между проектами.
Второй интерфейс предназначен для контент-менеджера. В карточке элемента вместо безликого текстового поля появляется полноценная панель управления. Элементы сортируются перетаскиванием, изображения загружаются через AJAX без перезагрузки страницы, а миниатюры отображаются прямо в списке. Если в схеме есть вложенный список, при его редактировании открывается модальное окно с ещё одним набором полей. Всё интуитивно и не требует от менеджера знаний структуры данных.
Вложенные списки: рекурсия внутри одного свойства
Одна из самых полезных возможностей модуля — поддержка вложенных списков. Вы можете создать многоуровневую структуру прямо внутри одного свойства. Например, на странице услуг: первый уровень — категории с заголовком и иконкой, внутри каждой категории — список конкретных услуг с названием и ценой. Стандартными средствами Битрикс такое реализуется через разделы инфоблоков, что не всегда удобно для вывода на одной странице. Здесь же всё описывается в схеме и хранится компактно.
Рекурсия работает на уровне кода и не требует дополнительных запросов к базе. При выборке элемента вы получаете одну строку с JSON, которую легко разобрать в шаблоне. Это снижает нагрузку на базу данных и упрощает логику вывода. Модуль обрабатывает вложенность через механизм миграции списков, что делает его гибким инструментом для сложных интерфейсов.
Технические детали: как это работает и чем удобно
Данные сериализуются в JSON с флагом JSON_UNESCAPED_UNICODE — это значит, что в базе они хранятся компактно и без лишних символов. При выборке через GetList не создаются дополнительные JOIN-запросы, что ускоряет работу сайта. Вы получаете одну строку, которую в шаблоне или result_modifier.php превращаете в массив через json_decode. Никаких лишних таблиц и сложных запросов.
Модуль не требует ручного написания кода для каждого нового набора полей. Разработчик один раз настраивает схему в админке, а контент-менеджер наполняет её через визуальный интерфейс. Если нужно перенести структуру на другой элемент или проект, можно скопировать JSON-схему через режим редактирования. Это экономит время и снижает вероятность ошибок. Интеграция с окном выбора элементов инфоблока работает без перезагрузки страницы, что делает процесс заполнения данных быстрым и комфортным.
Часто задаваемые вопросы
Характеристики
| Версия | 1.0.9 |
| Добавлен | 02.12.2025 |
| Установок | 50 - 99 раз |
| Код | erkin93.genesis |
| Адаптивный | Нет |
| Composite | Нет |