Выборка свойств инфоблока

Декабрь 6, 2017

Теги: Инфоблоки, ORM

Выборка свойств инфоблока средствами класса "\Bitrix\Iblock\PropertyTable".

Выборка всех активных свойств инфоблока с идентификатором в переменной $IBLOCK_ID:


$rsProperty = \Bitrix\Iblock\PropertyTable::getList(array(

    
'filter' => array('IBLOCK_ID'=>$IBLOCK_ID,'ACTIVE'=>'Y'),
));

while(
$arProperty=$rsProperty->fetch())
{
    
print_r($arProperty);
}

Выборка активных свойств типа "Список" инфоблока с идентификатором в переменной $IBLOCK_ID (только ID и символьный код):


$rsProperty = \Bitrix\Iblock\PropertyTable::getList(array(

    
'filter' => array(
        
'IBLOCK_ID'=>$IBLOCK_ID,
        
'ACTIVE'=>'Y',
        
'=PROPERTY_TYPE'=>\Bitrix\Iblock\PropertyTable::TYPE_LIST
    
),
    
'select' => array(
        
'ID',
        
'CODE',
    ),
));

// PROPERTY_TYPE: 
// \Bitrix\Iblock\PropertyTable::TYPE_STRING - строка
// \Bitrix\Iblock\PropertyTable::TYPE_NUMBER - число
// \Bitrix\Iblock\PropertyTable::TYPE_LIST - список
// \Bitrix\Iblock\PropertyTable::TYPE_ELEMENT - привязка к элементу
// \Bitrix\Iblock\PropertyTable::TYPE_SECTION - привязка к разделу
// \Bitrix\Iblock\PropertyTable::TYPE_FILE - файл

while($arProperty=$rsProperty->fetch())
{
    
print_r($arProperty);
}

Выборка свойств типа "Универсальная привязка" инфоблока с идентификатором в переменной $IBLOCK_ID (фильтр по пользовательскому типу):


$rsProperty = \Bitrix\Iblock\PropertyTable::getList(array(

    
'filter' => array('IBLOCK_ID'=>$IBLOCK_ID,'ACTIVE'=>'Y','=USER_TYPE'=>'grain_link'),
));

// примеры USER_TYPE: 
// grain_link - универсальная привязка
// gtable - свойство-таблица
// HTML - текст/html
// video - видео
// Date - дата
// DateTime - дата/время
// Money - деньги
// SKU - привязка к предложениям в магазине
// FileMan - привязка к файлу на сервере

while($arProperty=$rsProperty->fetch())
{
    
print_r($arProperty);
}

Пример возвращаемых данных:


Array

(
    [
ID] => 131
    
[TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object
        
(
            [
value:protected] => DateTime Object
                
(
                    [
date] => 2017-12-01 16:00:42
                    
[timezone_type] => 3
                    
[timezone] => Europe/Moscow
                
)

        )

    [
IBLOCK_ID] => 14
    
[NAME] => SKU
    
[ACTIVE] => Y
    
[SORT] => 500
    
[CODE] => Привязка к предложениям
    
[DEFAULT_VALUE] => 
    [
PROPERTY_TYPE] => E
    
[ROW_COUNT] => 1
    
[COL_COUNT] => 30
    
[LIST_TYPE] => L
    
[MULTIPLE] => N
    
[XML_ID] => 
    [
FILE_TYPE] => 
    [
MULTIPLE_CNT] => 5
    
[TMP_ID] => 
    [
LINK_IBLOCK_ID] => 0
    
[WITH_DESCRIPTION] => N
    
[SEARCHABLE] => N
    
[FILTRABLE] => N
    
[IS_REQUIRED] => N
    
[VERSION] => 1
    
[USER_TYPE] => SKU
    
[USER_TYPE_SETTINGS] => a:9:{s:4:"VIEW";s:1:"A";s:8:"SHOW_ADD";s:1:"N";s:9:"MAX_WIDTH";i:0;s:10:"MIN_HEIGHT";i:24;s:10:"MAX_HEIGHT";i:1000;s:7:"BAN_SYM";s:2:",;";s:7:"REP_SYM";s:1:" ";s:13:"OTHER_REP_SYM";s:0:"";s:11:"IBLOCK_MESS";s:1:"N";}
    [
HINT] => 
)
Array
(
    [
ID] => 132
    
[TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object
        
(
            [
value:protected] => DateTime Object
                
(
                    [
date] => 2017-12-01 16:00:42
                    
[timezone_type] => 3
                    
[timezone] => Europe/Moscow
                
)

        )

    [
IBLOCK_ID] => 14
    
[NAME] => Путь к файлу
    
[ACTIVE] => Y
    
[SORT] => 500
    
[CODE] => rtehth
    
[DEFAULT_VALUE] => 
    [
PROPERTY_TYPE] => S
    
[ROW_COUNT] => 1
    
[COL_COUNT] => 30
    
[LIST_TYPE] => L
    
[MULTIPLE] => N
    
[XML_ID] => 
    [
FILE_TYPE] => 
    [
MULTIPLE_CNT] => 5
    
[TMP_ID] => 
    [
LINK_IBLOCK_ID] => 0
    
[WITH_DESCRIPTION] => N
    
[SEARCHABLE] => N
    
[FILTRABLE] => N
    
[IS_REQUIRED] => N
    
[VERSION] => 1
    
[USER_TYPE] => FileMan
    
[USER_TYPE_SETTINGS] => 
    [
HINT] => 
)

← Переход к списку