В 1С-Битрикс свойства можно задавать не только элементам, но и разделам инфоблока. Это удобно, когда одинаковые данные относятся ко всей категории целиком: баннер, текст-описание, набор фильтров или служебные признаки.
Что такое свойство раздела и зачем оно нужно
В инфоблоке 1С-Битрикс есть два независимых набора свойств: свойства элементов и свойства разделов. Первые хранят данные конкретного товара или новости, вторые — данные категории (раздела дерева).
Свойство, привязанное к разделу, заполняется один раз на всю категорию и не дублируется у каждого элемента. Типичные сценарии:
- Баннер или иконка категории каталога;
- SEO-текст или описание, выводимое над списком товаров раздела;
- Служебные признаки: «показывать в меню», «код внешней системы», «цвет оформления»;
- Ссылка на бренд или ответственного менеджера категории.
Технически это дополнительные поля к разделу (секции) инфоблока. Они доступны через API как UF-поля или как штатные свойства разделов в зависимости от способа создания.
Свойства раздела и свойства элемента: в чём разница
Прежде чем настраивать, важно понимать, какой набор вы редактируете. Ошибка новичков — попытка привязать к разделу обычное свойство элемента, что невозможно напрямую.
| Критерий | Свойство элемента | Свойство раздела |
|---|---|---|
| Где создаётся | Вкладка «Свойства» инфоблока | Вкладка «Метки/Свойства разделов» |
| К чему привязано | К элементу (товар, новость) | К разделу (категория дерева) |
| Механизм хранения | Таблицы свойств инфоблока | Пользовательские поля (UF) |
| Где заполняется | Форма редактирования элемента | Форма редактирования раздела |
Свойства разделов реализованы через механизм пользовательских полей, поэтому набор их типов отличается от свойств элементов (нет, например, «Привязки к элементам» в чистом виде, зато есть все типы UF).
Как привязать свойство к разделу: пошагово
Настройка выполняется в редактировании самого инфоблока, а не отдельного раздела.
- Перейдите в Контент → Инфоблоки → Типы инфоблоков и выберите нужный тип.
- Откройте инфоблок на редактирование (иконка «Изменить» в списке инфоблоков).
- Перейдите на вкладку «Метки/Свойства разделов» (в некоторых версиях — «Свойства разделов» или «Дополнительные поля разделов»).
- Нажмите «Добавить поле» и укажите тип: строка, список, файл, число, дата, привязка к HL-блоку и т. д.
- Задайте
символьный код(латиница, напримерUF_BANNER), название и настройки: обязательность, множественность, значения по умолчанию. - Сохраните инфоблок.
После сохранения новое поле появится в форме редактирования каждого раздела этого инфоблока. Откройте любой раздел (Контент → [инфоблок] → значок раздела) и заполните значение.
Символьный код пользовательского поля раздела всегда начинается с префикса UF_ — это признак того, что вы работаете именно со свойством секции, а не элемента.
Настройка типов и параметров поля
При создании свойства раздела доступны стандартные типы пользовательских полей 1С-Битрикс:
- Строка — короткий текст, заголовок, код;
- Число / целое число — сортировка, идентификаторы;
- Список — фиксированный набор значений;
- Файл — баннер, иконка категории;
- Дата / Дата со временем — служебные даты;
- Привязка к элементам инфоблока — связь с элементом другого справочника;
- Привязка к разделам инфоблока — связь с другой категорией;
- Привязка к HighLoad-блоку — выбор значения из справочника HL.
Полезные параметры при настройке:
- Множественное — можно хранить несколько значений (например, несколько баннеров);
- Обязательное — раздел не сохранится без заполнения;
- Показывать в фильтре / в списке — вывод колонки в админском списке разделов;
- Значение по умолчанию — подставляется в новые разделы.
Вывод свойства раздела на сайте
Значения свойств разделов не появляются автоматически — их нужно получить в шаблоне. В штатных комплексных компонентах каталога поля разделов передаются, если в параметрах компонента указать нужные коды.
Способы вывода:
- В параметрах компонента
bitrix:catalog.sectionилиcatalogперечислить коды полей раздела в настройке «Свойства разделов»; - Программно через API —
CIBlockSection::GetList()с указанием нужныхUF_*полей в выборке; - Через D7:
\Bitrix\Iblock\SectionTable::getList()с подключением пользовательских полей.
При выборке важно явно запросить UF-поля: по умолчанию GetList не всегда их возвращает, если не передать их в списке полей. Для файловых полей вы получаете ID файла, который нужно преобразовать в путь через CFile::GetPath().
Частые ошибки
Проблемы, с которыми чаще всего сталкиваются при работе со свойствами разделов:
- Поле создали в «Свойствах», а не в «Свойствах разделов». Оно привяжется к элементам и в форме раздела не появится. Проверьте вкладку.
- Забыли префикс UF_. Символьный код пользовательского поля должен начинаться с
UF_, иначе система его не примет. - Значение не выводится на сайте. Поле не добавлено в параметры компонента или не запрошено в API-выборке.
- Файловое поле выводит число. Это ID файла — используйте
CFile::GetPath()илиResizeImageGet(). - Настроили в другом инфоблоке. Свойства разделов принадлежат конкретному инфоблоку; в другом их не будет.
- Множественное поле теряет значения. При сохранении через API нужно передавать массив, а не строку.
Права доступа и наследование значений
Свойство раздела заполняется индивидуально для каждой категории — автоматического наследования от родительского раздела к дочерним штатно нет. Если нужно, чтобы значение подтягивалось от родителя, эту логику реализуют программно в шаблоне или обработчике.
По правам доступа поля разделов подчиняются общим правам на инфоблок: пользователь, у которого есть право на изменение разделов, увидит и сможет редактировать все пользовательские поля секций. Отдельного разграничения прав на конкретное UF-поле в базовой конфигурации нет.
Если требуется скрыть служебное поле от контент-менеджера, его можно исключить из формы редактирования через настройку интерфейса формы раздела.
Итог
Привязка свойства к разделу в 1С-Битрикс решается через пользовательские поля разделов на вкладке «Метки/Свойства разделов» инфоблока. Это отдельный от свойств элементов механизм со своим набором типов и префиксом UF_.
Ключевые моменты:
- Настраивайте поле в редактировании инфоблока, а не отдельного раздела;
- Заполняйте значения в форме каждого раздела;
- Для вывода на сайте явно передавайте коды полей в компонент или API-выборку;
- Помните, что наследование значений от родителя нужно программировать вручную.