Выводим пользовательское поле(свойство) раздела в Битрикс, записываем новое значение

В этой статье разберем популярные вопросы с пользовательскими полями у разделов инфоблока:

Для начала необходимо создать пользовательское поле (свойство) у раздела
1) В административной панели Битрикс заходим в необходимый инфоблока(запоминаем его ID)
2) ищем раздел(запоминаем его ID),
3) заходим в редактирование данного раздела и во вкладке “Доп. поля” нажимаем “Добавить пользовательское свойство”
4) выбираем тип данных(например строка), прописываем код поля, вводиться можно только большие латинские буквы, например UF_ELEMCOUNT (запоминаем значение)

Выводим пользовательское поле у раздела по ID


$arFilter = Array('IBLOCK_ID'=>2,'ID'=>16, 'GLOBAL_ACTIVE'=>'Y');
$db_list = CIBlockSection::GetList(Array("timestamp_x"=>"DESC"), $arFilter, false, Array("UF_ELEMCOUNT"));
  if($uf_value = $db_list->GetNext()):
     $value=$uf_value["UF_ELEMCOUNT"]; 
     echo $value;
  endif;

Пояснения:
Вместо 2 подставляем ID вашего инфоблока, где находится необходимый раздел
Вместо 16 подставляем ID самого раздела
Вместо UF_ELEMCOUNT подставляем Код поля (которой создали в 4ом пункте)

Записываем новое значение в пользовательское поле раздела

$bs = new CIBlockSection;
$arFields = Array(
  "UF_ELEMCOUNT" => 23
);
$bs->Update(16, $arFields); 

Пояснения:
Вместо UF_ELEMCOUNT подставляем Код поля
Вместо 16 подставляем ID раздела

Перебираем все разделы инфоблока и выводим пользовательское поле

$IBLOCK_ID    = 2;

$arFilter    = Array(
      'IBLOCK_ID'=>$IBLOCK_ID, 
      'GLOBAL_ACTIVE'=>'Y');
$obSection    = CIBlockSection::GetTreeList($arFilter);

while($arResult = $obSection->GetNext()){
   for($i=0;$i<=($arResult['DEPTH_LEVEL']-2);$i++)
    echo "";
    
    
    $arFilter = Array('IBLOCK_ID'=>$IBLOCK_ID,'ID'=>$arResult['ID'], 'GLOBAL_ACTIVE'=>'Y');
	$db_list = CIBlockSection::GetList(Array("timestamp_x"=>"DESC"), $arFilter, false, Array("UF_ELEMCOUNT"));
	if($uf_value = $db_list->GetNext()):
     $value=$uf_value["UF_ELEMCOUNT"]; 
    
	 endif;
    
    
     echo "Значение свойства раздела = ".$value.'<br>';
}

Пояснения:
Вместо UF_ELEMCOUNT подставляем Код поля
Вместо 2 подставляем ID инфоблока

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Автор блога Стрелочка налево
Эксперт рубрики
Олег Конкин 1C-bitrixWordpress
Веб разработчик, основатель Digital
агентства с 9 летним опытом
и клиентами со всего мира
в 15 написал свой первый
интернет-магазин, после чего
полностью погрузился в digital
2 высших образования:
  • Аналитик операционного и прикладного
    программного обеспечения
  • Магистр менеджмента организаций