Ноябрь 23, 2017
Работа с вариантами значений свойств типа "Список" средствами класса "\Bitrix\Iblock\PropertyEnumerationTable".
Выбрать все варианты значений свойства типа список с идентификатором 10:
Создать массив для конвертации из ID в XML_ID и обратно для всех свойств типа "Список" в инфоблоке с идентификатором 8:
$arEnumID = Array();
$arEnumXmlID = Array();
$rsProperty = \Bitrix\Iblock\PropertyTable::getList(array(
'filter' => array('IBLOCK_ID'=>8,'=PROPERTY_TYPE'=>'L'),
'select' => array('ID','CODE'),
));
while($arProperty=$rsProperty->fetch())
{
$arEnumID[$arProperty["CODE"]] = array();
$arEnumXmlID[$arProperty["CODE"]] = array();
$rsEnum = \Bitrix\Iblock\PropertyEnumerationTable::getList(array(
'filter' => array('PROPERTY_ID'=>$arProperty['ID']),
));
while($arEnum=$rsEnum->fetch())
{
$arEnumID[$arProperty["CODE"]][$arEnum["XML_ID"]] = $arEnum["ID"];
$arEnumXmlID[$arProperty["CODE"]][$arEnum["ID"]] = $arEnum["XML_ID"];
}
}
Пример результата для предыдущего примера (type - символьный код свойства):