Разработка и Конфигурация · 9 мин
Инфоблоки 1С-Битрикс: что это и как с ними работать
Что такое инфоблоки в 1С-Битрикс: структура, типы, свойства, права доступа, связь с торговым каталогом и типичные ошибки при настройке и разработке.
Инфоблок (информационный блок) — базовая структура хранения контента в системе управления «1С-Битрикс: Управление сайтом». Практически всё, что выводится на сайте — новости, каталог товаров, статьи, баннеры, вакансии, отзывы — хранится именно в инфоблоках. Понимание их устройства необходимо и контент-менеджеру, и администратору, и разработчику, потому что ошибки в структуре инфоблоков потом сложно исправить без потери данных.
По смыслу инфоблок похож на таблицу в базе данных: у него есть набор полей и свойств (колонки), а каждая запись называется элементом (строка). Отличие от «голой» таблицы в том, что инфоблок сразу получает готовый интерфейс редактирования в административной панели, права доступа, поддержку SEO-полей, ЧПУ-ссылок и интеграцию с компонентами вывода на публичной части сайта.
Работа с инфоблоками ведётся в административном разделе: «Контент → Инфоблоки → Типы инфоблоков». Там создаются типы (например, «Каталог», «Новости», «Сервисы»), а внутри типов — сами инфоблоки. Для разработчика доступен и программный API: классы CIBlock, CIBlockElement, а в новых версиях ядра — ORM-сущности модуля iblock.
Из чего состоит инфоблок: типы, элементы, разделы и свойства
Структура инфоблоков иерархическая. На верхнем уровне находится тип инфоблока — логическая группа, объединяющая однородный контент. Например, тип «Каталоги» может содержать инфоблоки «Товары» и «Торговые предложения», а тип «Контент» — инфоблоки «Новости» и «Статьи». Тип задаёт общие настройки: использование разделов, привязку к сайтам, языковые названия.
Инфоблок внутри типа содержит элементы — отдельные записи (конкретная новость, конкретный товар). Если у типа включена поддержка разделов, элементы можно раскладывать по древовидной структуре разделов — это категории каталога или рубрики новостей. Разделы могут быть многоуровневыми, элемент может находиться одновременно в нескольких разделах.
Каждый элемент имеет стандартные поля: название, код (символьный), даты активности, картинки анонса и детального описания, тексты анонса и подробного описания, сортировку. Помимо стандартных полей, к инфоблоку добавляются свойства — произвольные атрибуты: строка, число, список, флаг «да/нет», привязка к элементам или разделам других инфоблоков, файл, HTML/текст. Именно свойства превращают инфоблок в полноценную модель данных: у товара это «Артикул», «Бренд», «Цвет», у вакансии — «Зарплата» и «Город».
Где создать и настроить инфоблок
Создание выполняется в административной панели по пути «Контент → Инфоблоки → Типы инфоблоков». Для нетиповых задач (справочник городов, слайдер на главной, отзывы) обычно создают отдельный тип, чтобы не смешивать служебные структуры с контентом.
При создании инфоблока ключевые настройки распределены по вкладкам формы. На вкладке «Инфоблок» задаются название, символьный код (API-код), привязка к сайтам и шаблоны URL для страниц списка, раздела и элемента — от них строятся ЧПУ-адреса. На вкладке «Свойства» добавляются атрибуты элементов. Вкладка «Доступ» определяет права групп пользователей. Отдельно настраиваются SEO-шаблоны мета-тегов и подписи полей формы редактирования.
- 1Откройте «Контент → Инфоблоки → Типы инфоблоков» и при необходимости создайте новый тип
- 2Нажмите «Добавить инфоблок», укажите название, символьный код и привязку к сайту
- 3Заполните шаблоны URL страниц: список, раздел, детальная страница элемента
- 4На вкладке «Свойства» добавьте нужные атрибуты с корректными типами и кодами
- 5Настройте права доступа для групп пользователей на вкладке «Доступ»
- 6Сохраните, создайте тестовый элемент и проверьте вывод через компонент на публичной части
Практический совет: символьные коды инфоблока и свойств задавайте сразу осмысленно и в едином стиле (например, ARTICLE, BRAND_REF). Менять код после того, как на него завязан код выборок и шаблоны, — лишняя работа и риск сломать вывод.
Как инфоблоки связаны с торговым каталогом
В редакциях с модулем «Интернет-магазин» инфоблоки лежат в основе каталога. Инфоблок товаров хранит описания, характеристики и картинки, а цены и остатки подключаются через модуль торгового каталога: инфоблок помечается как торговый каталог, и его элементы становятся товарами. Для товаров с вариантами (размер, цвет) создаётся связанный инфоблок торговых предложений, связанный с основным через свойство типа «привязка к элементам».
Это разделение важно понимать при интеграциях: обмен с «1С: Управление торговлей» или «1С: УНФ» выгружает товары именно в инфоблоки. Если структура инфоблока изменена нестандартно (например, характеристики заведены как отдельные элементы вместо свойств), типовой обмен может работать некорректно, и потребуется доработка обработчиков.
Вывод информации на сайт: компоненты и ЧПУ
Сам по себе инфоблок ничего не показывает посетителю — за вывод отвечают компоненты. Типовая связка: «news.list» (список элементов), «news.detail» (детальная страница), «catalog.section» и «catalog.element» для каталога, а также комплексные компоненты «news» и «catalog», которые собирают список, разделы и детальные страницы в единую структуру с ЧПУ.
ЧПУ (человекопонятные URL) настраивается в двух местах, которые должны быть согласованы: шаблоны URL в настройках инфоблока и параметры ЧПУ в компоненте. Если шаблоны не совпадают, ссылки ведут на 404 или на дубли страниц. В шаблонах используются плейсхолдеры вида #SECTION_CODE# и #ELEMENT_CODE#, поэтому у элементов и разделов должен быть заполнен символьный код — удобно включить его автогенерацию транслитом из названия в настройках полей инфоблока.
Для выборок в кастомном коде используется API. Классический вариант — CIBlockElement::GetList с фильтром по IBLOCK_ID, активности и свойствам; в новых версиях ядра рекомендуется ORM-подход через \Bitrix\Iblock\Elements\Element*Table-классы, которые генерируются для каждого инфоблока с включённым хранением в отдельных таблицах.
Производительность и хранение свойств
Исторически свойства элементов хранятся в универсальной таблице (модель EAV), что при большом числе свойств и элементов даёт тяжёлые запросы с множеством джойнов. Для крупных каталогов Битрикс предлагает альтернативу — хранение свойств в отдельных таблицах инфоблока (иногда это называют «инфоблоки 2.0»). Перевод выполняется штатной операцией в настройках инфоблока и заметно ускоряет фильтрацию и выборки.
Дополнительные меры: включить кеширование компонентов, не выбирать в GetList все свойства подряд (ограничивать SELECT только нужными полями), использовать фасетный индекс для умного фильтра в каталоге и следить, чтобы фильтры по свойствам не строились по строковым значениям, когда подходит список или привязка.
Права доступа и организация работы контент-менеджеров
Права на инфоблок назначаются группам пользователей: от «запрещено» до полного доступа, включая раздельные права на чтение, редактирование элементов и изменение настроек. Для контент-менеджеров обычно достаточно права «изменение» на конкретный инфоблок без доступа к его настройкам — это защищает структуру от случайных правок.
Для чувствительных данных (например, внутренние документы) доступен режим расширенных прав, где доступ задаётся на уровне отдельных разделов и элементов. Также полезны настройки инфоблока: обязательность заполнения полей, значения по умолчанию, контроль уникальности символьного кода и журналирование изменений — они снижают количество ошибок при ежедневном наполнении.
Частые вопросы об инфоблоках
Чем инфоблок отличается от highload-блока?
Highload-блок — облегчённое хранилище на ORM без разделов, SEO-полей и сложных прав, предназначенное для больших простых справочников (города, цвета, характеристики). Инфоблок — полноценная контентная сущность с разделами, свойствами, ЧПУ и компонентами вывода. Для каталога и контента выбирают инфоблоки, для объёмных техничных справочников — highload-блоки.
Можно ли перенести элементы из одного инфоблока в другой?
Штатного массового переноса с сохранением всех связей нет; обычно используют экспорт/импорт через CSV или скрипт на API с пересозданием элементов и переносом значений свойств. Учтите, что ID элементов изменятся — внешние ссылки и связи по ID придётся обновлять.
Почему свойство не выводится в списке элементов?
Чаще всего свойство не передано в параметр компонента «Свойства» (PROPERTY_CODE) или не добавлено в выборку при кастомном GetList. Также проверьте, что свойство активно и заполнено у конкретного элемента, а кеш компонента сброшен после изменения настроек.
Как сделать автоматическое заполнение символьного кода элемента?
В настройках инфоблока на вкладке «Поля» для поля «Символьный код» включите проверку уникальности и транслитерацию из названия. Тогда при создании элемента код сформируется автоматически, что необходимо для корректных ЧПУ-адресов.
Безопасно ли удалять неиспользуемый инфоблок?
Удаление инфоблока безвозвратно удаляет все его элементы, разделы и значения свойств. Перед удалением убедитесь, что на инфоблок не ссылаются компоненты, свойства-привязки других инфоблоков и обмены с 1С, и сделайте резервную копию базы данных.
Что важно запомнить
Инфоблок — основная структура хранения контента в 1С-Битрикс: типы группируют инфоблоки, элементы и разделы хранят данные, свойства описывают атрибуты, а компоненты выводят всё это на сайт. Продуманная структура, корректные шаблоны URL, разумные права и внимание к производительности избавляют от большинства проблем при росте проекта.