Концепция инфоблоков
Информационные блоки — базовое хранилище структурированного контента в Битриксе с иерархией «Тип → Инфоблок → Дерево разделов → Элементы». Элементы имеют фиксированный набор системных полей (название, символьный код, даты активности, тексты) и произвольный набор свойств, а параметр API_CODE инфоблока отвечает за автогенерацию классов D7 ORM.
Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.
Что нужно понимать
-
1
Типы инфоблоков
-
2
Инфоблоки и разделы
-
3
Элементы инфоблоков
Материалы
Официальная документация
-
Схема работы инфоблоков и основные объекты Новая дока
Проверь себя
Заказчик просит раздел «Услуги» с подкатегориями и карточками услуг. Сколько инфоблоков и типов нужно и почему?
Один инфоблок в типе, где разрешены разделы (SECTIONS = Y): подкатегории — дерево разделов, услуги — элементы со свойствами. Тип нужен только чтобы группировать похожие инфоблоки в админке и разрешать или запрещать в них разделы.
Чем свойство элемента отличается от его поля, и что сломается, если хранить цену в PREVIEW_TEXT?
Поля одинаковы у всех элементов любого инфоблока (NAME, CODE, тексты, картинки, даты), свойства настраиваются под конкретный инфоблок и имеют тип. Цена в текстовом поле не отсортируется как число и не попадёт в фильтр по диапазону; для этого есть свойство типа Число.
Товар лежит в двух разделах. Что покажет IBLOCK_SECTION_ID элемента?
Только основной раздел, а если основной не выбран — раздел с минимальным ID. Все привязки хранятся отдельно, в таблице связей элементов и разделов (SectionElementTable), и полный список берут оттуда.
Зачем инфоблоку символьный код API, если у него уже есть CODE?
CODE — строка для фильтров и ЧПУ, API_CODE — основа имени ORM-класса: для API_CODE = Clothes ядро генерирует ElementClothesTable. Без API_CODE класса нет, и D7-код падает с Class not found.
Не сходится?
Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.
Знаете материал лучше?
Предложите ссылку: после проверки она появится в этом разделе.
Войти, чтобы предложить