Как создать инфоблок на 1С-Битрикс: тип, свойства и вывод на сайте

Как создать инфоблок на 1С-Битрикс: тип, свойства и вывод на сайте

Вы создали инфоблок в админке, добавили три карточки услуг, повесили компонент на страницу /services/ - и видите белый экран. Знакомо: тип есть, элементы в списке есть, а на сайте пусто. Чаще всего виноваты неактивные записи, снятые галки в компоненте или неверный ID инфоблока. Ниже - полный цикл для 1С-Битрикс: Управление сайтом: от типа и свойств до первой записи на публичной странице без копирования официальной документации целиком.

Инфоблок - это "таблица контента" внутри CMS: тип задаёт группу (новости, услуги), внутри - свойства, разделы и элементы. Сначала соберите структуру в админке (вечер 1), затем добавьте тестовый элемент и выведите его компонентом news.list (вечер 2). Перед публикацией проверьте активность элемента, права "Чтение" для всех и IBLOCK_ID в настройках компонента.

Речь только про 1С-Битрикс: Управление сайтом на вашем сервере. Часть гайдов в поиске описывает облачную CRM того же вендора — у неё другая админка и нет привычного «Контент → Инфоблоки»; не путайте продукты..

Разберите, зачем инфоблок вместо статической страницы

Сравнение статической страницы и инфоблока в Битрикс: когда что выбирать

Статическая страница в визуальном редакторе подходит для "О компании" или лендинга из пяти блоков. Инфоблок нужен, когда однотипных записей много и они меняются: новости, услуги, кейсы, статьи блога. Вы один раз настраиваете поля и шаблон вывода, а редакторы добавляют карточки без правки HTML всей страницы.

Задача Статическая страница Инфоблок
Десятки однотипных карточек Каждая правка вручную в редакторе Форма элемента + автоматический список
Фильтр по свойствам Сложно и ломается при обновлении Свойства типа "список", фильтр в компоненте
Отдельный URL каждой записи Нужна ручная страница на каждую новость ЧПУ элемента из символьного кода
Миллионы строк справочника Не подходит Лучше Highload-блок, не обычный IB

Делайте: заводите инфоблок для повторяющегося контента с разделами и детальными страницами. Не делайте: не плодите отдельные статические страницы под каждую новость - через полгода править их станет больно.

Создайте тип инфоблока и сам инфоблок в админке

Workflow создания типа и инфоблока в админке 1С-Битрикс за два вечера

Иерархия в CMS выглядит так: тип инфоблока → инфоблок → свойства → разделы → элементы → компонент на сайте. Тип - это "папка" для однородных блоков (например, "Контент сайта"); внутри типа живут конкретные инфоблоки "Новости" или "Услуги".

Этап Где в админке Результат вечера
Вечер 1 - структура Контент → Инфоблоки → Типы инфоблоков Тип, инфоблок, свойства, права доступа
Вечер 2 - вывод Контент → [ваш тип] → элементы; публичная страница Активный элемент виден через news.list
  1. Откройте Контент → Инфоблоки → Типы инфоблоков. Создайте тип с понятным названием (например, "Контент") или выберите готовый из дистрибутива.
  2. Нажмите "Добавить инфоблок" внутри типа. Укажите название ("Услуги"), символьный код латиницей (services) и привязку к сайту (поле LID / "Сайты").
  3. Заполните "Символьный код API" (API_CODE) - латиница без пробелов, например Services. Он нужен разработчику для D7 ORM (современный слой работы с базой через классы Element{ApiCode}Table вместо старых CIBlock::Add).
  4. Выберите версию хранения свойств: VERSION 2 быстрее при небольшом числе свойств (до 50), VERSION 1 - классика для старых проектов.
  5. На вкладке "Доступ" выдайте группе "Все пользователи" право "Чтение". Без этого гости увидят пустую страницу даже при активных элементах.
  6. Сохраните и запишите числовой ID инфоблока из списка - он понадобится в параметре IBLOCK_ID компонента.

Делайте: сразу задайте уникальный символьный код и API_CODE. Не делайте: не копируйте ID инфоблока с чужого туториала - на вашем сайте он будет другим.

Настройте свойства, разделы и SEO-поля до первого элемента

Чеклист настройки свойств, разделов и SEO-полей инфоблока до первого элемента

На вкладке «Свойства» добавьте поля, которые нужны в карточке: строка (цена), список (да/нет), файл (PDF), привязка к разделу.

Подписи «Раздел» и «Элемент» можно переименовать в «Категория услуги» и «Услуга» — редакторам так понятнее.

Разделы нужны при иерархии ("Ремонт" → "Кухни"); для плоских новостей можно обойтись без них. SEO-поля и ЧПУ - в гайде по SEO на Битрикс.

  1. Добавьте свойства до первого элемента - иначе придётся массово перезаливать контент.
  2. Для списка "Да/Нет": в фильтре передавайте ID значения свойства, а не текст "ДА".
  3. Создайте тестовый элемент: Контент → [тип] → [инфоблок] → Добавить. Поставьте галку "Активен", заполните анонс и детальный текст, задайте символьный код для URL.
  4. Проверьте даты активности - элемент с будущей датой начала на фронте не появится.

Делайте: один тестовый элемент с полным набором полей до подключения компонента. Не делайте: не заливайте сотню карточек, пока не увидели одну на сайте - отладка станет кошмаром.

Выведите инфоблок на сайт через news.list или catalog.section

Компонент берёт данные из инфоблока и рисует HTML. Для новостей и услуг - news.list и news.detail. Для товаров - catalog.section; разбор - в гайде по интернет-магазину.

Схема вывода:
Страница /services/ → компонент news.list (IBLOCK_ID, шаблон) → шаблон компонента рисует карточки → клик ведёт на news.detail по ЧПУ элемента
  1. Создайте раздел сайта /news/ или /services/ в структуре "Контент".
  2. Вставьте компонент "Список новостей" (news.list) через визуальный редактор или PHP-вызов в шаблоне.
  3. Укажите IBLOCK_ID вашего инфоблока - число из списка в админке, не название.
  4. Включите в FIELD_CODE поля NAME, PREVIEW_TEXT, PREVIEW_PICTURE - иначе список будет пустым визуально при живых данных.
  5. Выберите шаблон компонента (.default или кастомный в /local/templates/.../components/bitrix/news.list/).
  6. На композитном сайте снимите SET_STATUS_404 у вспомогательных выводов - иначе страница отдаёт 404.

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

Проверьте права, ЧПУ и причины пустого вывода

Если список пустой, пройдите таблицу симптомов ниже. На практике в девяти случаях из десяти хватает пяти минут в админке — без правки PHP.

В реальном проекте маркетолог видел белую /services/ при трёх карточках в админке: элементы были неактивны, в news.list сняты галки анонса, а в фильтре передали «ДА» вместо ID спискового свойства. Типичная ошибка — искать баг в шаблоне, когда причина в галке «Активен».

Симптом Частая причина Что сделать
Белая страница, в админке элементы есть Элементы неактивны или дата начала в будущем Включить "Активен", проверить период показа
Админ видит, гость - нет Нет права "Чтение" для всех пользователей Вкладка "Доступ" инфоблока → группа "Все пользователи"
Компонент на месте, список пуст Неверный IBLOCK_ID или сняты FIELD_CODE Сверить ID, включить NAME и PREVIEW_TEXT
Фильтр не отрабатывает В $arrFilter передали текст вместо ID свойства Подставить числовой ID значения списка
Страница 404 при композите SET_STATUS_404 = Y у news.list Отключить для неканонических выводов

Финальный чек-лист: тип и инфоблок созданы, элемент активен, news.list показывает карточку, детальная открывается по ЧПУ. Разработчику дальше - D7 ORM через Element{ApiCode}Table вместо устаревшего CIBlock::Add.

Делайте: зафиксируйте ID инфоблока в документации проекта. Не делайте: не сбрасывайте кэш на проде без причины.

Нужна настройка структуры контента, вывод нестандартных свойств или аудит пустых разделов - напишите, разберём ваш кейс. Примеры корпоративных сайтов с кастомными инфоблоками - в портфолио.

Автор: Максим Мольков, Senior-разработчик 1С-Битрикс, 8+ лет в веб-разработке.
Источники: dev.1c-bitrix.ru и docs.1c-bitrix.ru.

Частые вопросы

Чем инфоблок отличается от Highload-блока?

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

Как вывести свой инфоблок на страницу сайта?

Создайте раздел в структуре сайта, вставьте компонент news.list, укажите IBLOCK_ID вашего блока, включите поля NAME и PREVIEW_TEXT в FIELD_CODE и выберите шаблон. Для детальной страницы добавьте news.detail в шаблон раздела.

Какие свойства добавить в инфоблок услуг?

Минимум: анонс и детальный текст из стандартных полей. Дополнительно - цена (строка), срок (число), файл прайса (файл), признак "Популярная" (список). Не плодите десятки свойств "на будущее" - каждое усложняет форму редактору.

Можно ли один инфоблок привязать к нескольким сайтам?

Да, в форме инфоблока в поле "Сайты" (LID) отметьте несколько сайтов в многосайтовой установке. Компонент на каждом сайте должен фильтровать по своему контексту; права доступа настраиваются отдельно для каждой группы пользователей.

Почему news.list пустой, хотя элементы в админке есть?

Проверьте по порядку: элемент активен, дата начала не в будущем, у группы "Все пользователи" есть чтение, IBLOCK_ID в компоненте верный, в FIELD_CODE включены NAME и PREVIEW_TEXT. В девяти случаях из десяти проблема в одном из этих пунктов.

Нужен ли API_CODE, если я не программирую?

Для работы через админку и стандартные компоненты - не обязателен. Заполните его сразу: если позже подключите разработчика для D7 ORM, без API_CODE придётся возвращаться в настройки инфоблока и править интеграции.

Читайте также

Интеграции с 1С и API
947 6 мин.

Как настроить регистрацию и личный кабинет покупателя на 1С-Битрикс?

Пошаговая настройка регистрации на сайте битрикс: Главный модуль, main.register, system.auth.form и sale.personal.section с историей заказов и 152-ФЗ.
Интеграции с 1С и API
675 15 мин.

Что такое компонент в Битриксе и как он работает

Каждый разработчик, впервые столкнувшийся с Битриксом, проходит через своеобразный обряд посвящения. Вначале кажется, что это просто CMS, где можно поправить HTML в визуальном редакторе или дописать пару строк CSS. Но однажды наступает момент, когда нужно изменить логику вывода новостей, отфильтровать товары по хитрому свойству или добавить на страницу нечто совершенно новое. И тут он впервые слышит это слово — «компонент». Для многих этот момент становится стеной. Система, казавшаяся понятной, вдруг превращается в черный ящик, полный непонятных файлов и странных переменных. Но стоит лишь раз заглянуть под капот, как эта стена рассыпается, превращаясь в набор удивительно логичных и мощных строительных блоков. Понимание компонентов — это тот самый щелчок, после которого разработка на Битрикс из мучения превращается в творчество.

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

Интеграции с 1С и API
605 2 мин.

Установка Composer в 1С-Битрикс

Установка Composer в проекте на 1С-Битрикс требует учета особенностей платформы, чтобы обеспечить корректную работу и интеграцию с системой.