Вывод свойств из типа инфоблока (настройки инфоблока) Битрикс

  • 975
   
Разделы

Я не претендую на право называться автором всей размещенной здесь информации, так как некоторые моменты были заимствованы в доступных источниках и немного переработаны для удобства пользования.


По возможности указываю ссылки на источники.


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

Частный вебмастер по разработке сайтов на 1С Битрикс и WordPress

В процессе работы с каталогом товаров, мне понадобилось вывести данные из свойства список, только не из инфоблока, а из типа инфоблока. Сначала думал перебрать элементы каталога и собрать в массив значения с помощью CIBlockElement::GetList. Однако данный метод сильно нагружал сайт при загрузке страницы. Было принято решение получить список сразу из типа инфоблока с помощью CIBlockPropertyEnum::GetList.

Пример получения всех свойств из типа инфоблока или его настроек по ИД с помощью CIBlockPropertyEnum::GetList

<? $property_enums = CIBlockPropertyEnum::GetList(
Array("DEF"=>"DESC", "SORT"=>"ASC"), // сортировка вывода
Array("IBLOCK_ID"=>$arParams['IBLOCK_ID'])); // ИД инфоблока обязателен, остальное опционально
// Array("IBLOCK_ID"=>$arParams['IBLOCK_ID'], 'PROPERTY_ID'=> 448)); // для получения определенного свойства
while($enum_fields = $property_enums->GetNext()) {
print_r($enum_fields);
} ?>

ИД инфоблока

ИД инфоблока

ИД свойства в инфоблоке

ИД свойства в инфоблоке

Пример получения основных сведений о инфоблоке (типе инфоблока) по ИД с помощью CIBlock::GetByID

<? $dbResult = CIBlock::GetByID($arParams['IBLOCK_ID']);
if($arIBlock = $dbResult->GetNext()) {
print_r($arIBlock);
} ?>

Комментарии

Комментарий отправлены на валидацию!