Получить значение пользовательского поля раздела в Битрикс

Решение, как получить значение пользовательского поля для раздела через API «1С-Битрикс»

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


В данном примере мы указываем ID нужного нам раздела и ID пользовательского поля, символьный код которого формируется добавлением префикса "UF_" к его ID. Функция CIBlockSection::GetList() возвращает список разделов, удовлетворяющих заданным условиям. В качестве третьего параметра передаём false, чтобы выбрать все поля раздела, а в качестве четвёртого параметра передаём массив с символьным кодом нужного свойства.


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


Пример кода для получения значения пользовательского поля раздела:

Решение:
ВАРИАНТ-1
$sectionId = 123; // ID раздела
$sectionFields = CIBlockSection::GetByID($sectionId)->GetNext();
$userField = $sectionFields['UF_USER_FIELD_NAME']; // значение пользовательского поля


 ВАРИАНТ-2
CModule::IncludeModule("iblock");

$iblockID = 1; // ID инфоблока
$sectionID = 123; // ID раздела

$res = CIBlockSection::GetList(
    array(),
    array(
        "IBLOCK_ID" => $iblockID,
        "ID" => $sectionID
    ),
    false,
    array(
        "UF_SAMPLE" // символьный код свойства
    )
);

if ($section = $res->GetNext()) {
    $propertyValue = $section["UF_SAMPLE"];
    // использование значения свойства
}

Комментарии (0)

Похожие решения:
Создано: 28.04.2023
Просмотров: 509