Как добавить списочное свойство инфоблока
Для добавления списочного свойства необходимо при создании свойства через класс CIBlockProperty указать правильный тип и задать варианты значения. В остальном создается как обычное свойство.
<?
\Bitrix\Main\Loader::includeModule('iblock');
$enumValues = [
[
'XML_ID' => 'TEST_PR_1',
'VALUE' => '1',
],
[
'XML_ID' => 'TEST_PR_2',
'VALUE' => '2',
],
];
$fields = [
'NAME' => 'TEST',
'CODE' => 'TEST_PROP',
'PROPERTY_TYPE' => 'L',
'ACTIVE' => 'Y',
'IBLOCK_ID' => 25,
'VALUES' => $enumValues,
];
$obCIBlockProp = new \CIBlockProperty;
$id = $obCIBlockProp->Add($fields);
if (!$id)
{
echo $obCIBlockProp->LAST_ERROR;
}