При разработке интернет-магазинов и информационных порталов на платформе 1С-Битрикс часто возникает необходимость расширить стандартный функционал разделов инфоблоков. Пользовательские свойства разделов (User Fields) открывают широкие возможности для кастомизации - от управления визуальным оформлением до реализации сложной бизнес-логики. Это мощный инструмент, который позволяет хранить дополнительные данные для каждого раздела и использовать их в различных сценариях работы сайта.
Создание пользовательских свойств для разделов
-
Доступ к настройкам раздела
Перейдите в админ-панель Битрикс и откройте нужный раздел инфоблока:-
Через кнопку «Изменить»
-
Или кликом по ID раздела
-
-
Создание свойств
Во вкладке «Доп. свойства» создайте новое пользовательское свойство. При отсутствии вкладки сбросьте настройки формы через синюю шестеренку. -
Типы полей и их применение
В зависимости от задач можно использовать различные типы полей:-
Строка - для заголовков, названий, коротких описаний
-
Текст/HTML - для расширенных описаний, контентных блоков
-
Файл - для иконок, фоновых изображений, документов
-
Список - для выбора вариантов оформления или поведения
-
Дата/Время - для ограничения акций по времени
-
Да/Нет - для включения/отключения функций
-
Практические примеры использования
1. Управление визуальным оформлением
<?
// Получаем настройки оформления раздела
$sectionSettings = CIBlockSection::GetList(
false,
Array(
"IBLOCK_ID" => 14,
"ID" => $arResult['ID']
),
false,
Array("UF_BG_COLOR", "UF_HEADER_IMAGE", "UF_TEMPLATE"),
false
);
$settings = $sectionSettings->Fetch();
// Применяем настройки оформления
if ($settings['UF_BG_COLOR']) {
echo '<style>.section-header { background-color: '.$settings['UF_BG_COLOR'].'; }</style>';
}
?>2. Бизнес-логика и функционал
<?
// Получаем бизнес-параметры раздела
$businessParams = CIBlockSection::GetList(
false,
Array("IBLOCK_ID" => 14, "ID" => $arResult['ID']),
false,
Array("UF_MIN_ORDER", "UF_SORTING", "UF_HIDE_PRICE"),
false
);
$params = $businessParams->Fetch();
// Применяем бизнес-правила
if ($params['UF_MIN_ORDER']) {
echo '<div class="min-order">Минимальный заказ: '.$params['UF_MIN_ORDER'].'</div>';
}
?>3. Динамический контент
<?
// Получаем контентные блоки раздела
$sectionContent = CIBlockSection::GetList(
false,
Array("IBLOCK_ID" => 14, "ID" => $arResult['ID']),
false,
Array("UF_ADDITIONAL_TEXT", "UF_BANNER_TEXT", "UF_FEATURES"),
false
);
$content = $sectionContent->Fetch();
// Выводим дополнительный контент
if ($content['UF_ADDITIONAL_TEXT']) {
echo '<div class="additional-content">'.$content['UF_ADDITIONAL_TEXT'].'</div>';
}
?>4. SEO + дополнительные сценарии
<?
// Комплексное получение свойств
$sectionData = CIBlockSection::GetList(
false,
Array(
"IBLOCK_ID" => 14,
"ID" => $arResult['ID'],
"ACTIVE" => "Y"
),
false,
Array("UF_TITLE", "UF_KEYWORDS", "UF_DESCRIPTION", "UF_PROMO_BANNER", "UF_SORT_ORDER"),
false
);
$data = $sectionData->Fetch();
// SEO настройки
if ($data['UF_TITLE']) {
$APPLICATION->SetPageProperty("title", $data['UF_TITLE']);
}
// Бизнес-логика
if ($data['UF_PROMO_BANNER']) {
showPromoBanner($data['UF_PROMO_BANNER']);
}
?>Преимущества подхода
-
Гибкость - каждый раздел может иметь уникальные настройки
-
Удобство - управление через стандартный интерфейс Битрикс
-
Производительность - данные кэшируются вместе с разделом
-
Масштабируемость - легко добавлять новые свойства без изменения структуры БД
Пользовательские свойства разделов позволяют создавать по-настоящему динамичные и адаптивные структуры, где каждый раздел может иметь собственное поведение и оформление, соответствующее его специфике.