Главная » Администрирование Битрикс » Инфоблоки » Типы инфоблоков в Битрикс: зачем нужны и как создать

Типы инфоблоков в Битрикс: зачем нужны и как создать

Структура инфоблоков в Битрикс: тип объединяет инфоблоки, внутри которых разделы и элементы

Тип инфоблока — это группа однородных инфоблоков и одновременно способ настроить, как они будут выглядеть в административной части. Новости, каталог товаров, справочники, отзывы — каждая из этих сущностей обычно живёт в своём типе.

Разберём, зачем нужен отдельный уровень группировки, как создать тип и что означают его настройки, включая разделы и веб-формы, которые часто включают наугад.

Зачем нужны типы

Структура в 1С-Битрикс трёхуровневая:

Тип инфоблока        Каталог
    └─ Инфоблок          └─ Товары
        └─ Раздел            └─ Мебель
            └─ Элемент           └─ Стол письменный

Тип решает три задачи:

  • Группировка в меню. В административной части инфоблоки одного типа собираются в отдельный пункт. Без типов всё свалено в одну кучу.
  • Настройка терминологии. Для каталога уместны «Разделы» и «Товары», для новостей — «Категории» и «Новости». Названия задаются на уровне типа.
  • Общие настройки поведения. Использовать ли разделы, привязывать ли веб-формы — задаётся один раз для всех инфоблоков типа.

Создание типа

Типы настраиваются в разделе КонтентИнфоблокиТипы инфоблоков.

ПараметрЧто задаёт
Идентификатор Символьный код: catalog, news. Латиница, менять потом нельзя
Сортировка Порядок в меню административной части
Использовать разделы Будет ли у инфоблоков этого типа древовидная структура
Использовать привязку к разделам Возможность привязать элемент к нескольким разделам
Названия Как называются сущности в интерфейсе — задаётся для каждого языка

Идентификатор стоит выбирать вдумчиво: он попадёт в код проекта, и переименовать его штатными средствами нельзя. Придётся создавать новый тип и переносить инфоблоки.

Названия сущностей

Блок с названиями обычно пропускают, а зря — он определяет, что увидит контент-менеджер:

ПолеКаталогНовости
Название типаКаталогНовости
ЭлементыТоварыНовости
ЭлементТоварНовость
РазделыРазделыКатегории
РазделРазделКатегория

Разница между «Добавить элемент» и «Добавить товар» кажется мелочью, но для человека, который работает с системой каждый день, она заметна.

Нужна помощь с Битрикс?





    Разделы: включать или нет

    Самая важная настройка типа. Она определяет, будет ли у инфоблоков древовидная структура.

    СущностьРазделыПочему
    Каталог товаровНужныКатегории и подкатегории
    НовостиОбычно нужныРубрики новостей
    ОтзывыНе нужныПлоский список
    СотрудникиНужныДеление по отделам
    Слайдер на главнойНе нужныНесколько записей без иерархии
    Справочник городовНе нужныПлоский список

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

    Привязка к нескольким разделам

    Отдельная настройка, разрешающая элементу находиться сразу в нескольких разделах. Для каталога это часто нужно: один товар может относиться и к «Новинкам», и к «Кухонной мебели».

    Учтите, что множественная привязка усложняет выборки и влияет на построение ЧПУ-адресов: у элемента появляется основной раздел и дополнительные.

    Как разложить сущности по типам

    Рабочая схема для типового корпоративного сайта с магазином:

    ТипИнфоблоки внутри
    catalog Товары, торговые предложения, бренды
    content Новости, статьи, акции, вопросы и ответы
    references Города, пункты выдачи, справочные данные
    services Услуги, тарифы, портфолио

    Две крайности одинаково неудобны. Один тип на всё превращает меню в свалку из двадцати инфоблоков. Свой тип на каждый инфоблок разрастается настолько, что нужный пункт приходится искать.

    Работа с типами из кода

    Тип инфоблока — обязательный параметр при выводе компонентов:

    <?$APPLICATION->IncludeComponent(
        'bitrix:news.list',
        'main',
        [
            'IBLOCK_TYPE' => 'content',
            'IBLOCK_ID'   => 5,
        ]
    )?>

    Получить список типов программно можно так:

    <?php
    
    use Bitrix\Main\Loader;
    
    Loader::includeModule('iblock');
    
    $result = CIBlockType::GetList(['SORT' => 'ASC']);
    
    while ($type = $result->Fetch()) {
        $lang = CIBlockType::GetByIDLang($type['ID'], LANGUAGE_ID);
        echo $type['ID'] . ' — ' . $lang['NAME'] . PHP_EOL;
    }

    Обратите внимание: названия хранятся отдельно от самого типа, в языковых данных. Одним запросом получить и то и другое не получится.

    Что нельзя изменить потом

    • Идентификатор типа. Только пересоздание и перенос инфоблоков.
    • Отключение разделов при заполненных данных. Формально возможно, но связи элементов с разделами при этом теряются.

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

    Частые ошибки

    • Всё в типе по умолчанию. Через год в меню два десятка инфоблоков без всякой группировки.
    • Названия не заполнены. Контент-менеджер видит «Элементы» вместо «Товаров» и путается.
    • Разделы отключены у каталога. Обнаруживается, когда товаров стало много, а структуры нет.
    • Идентификатор из транслита. Тип с кодом tovary_i_uslugi неудобно писать в коде и невозможно переименовать.
    • Тип на каждый инфоблок. Меню разрастается, а смысла в группировке нет.

    Итог

    Тип инфоблока группирует инфоблоки в административной части и задаёт общие настройки: использование разделов, привязку к нескольким разделам и названия сущностей в интерфейсе.

    Два решения принимаются на старте и меняются потом тяжело: идентификатор типа и наличие разделов. Разумная схема — три-четыре типа на проект, сгруппированные по смыслу: каталог, контент, справочники, услуги.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    База знаний