- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/v2/Property/PropertyRepository.php
- Класс: BitrixCatalogv2PropertyPropertyRepository
- Вызов: PropertyRepository::loadEnumSettings
private function loadEnumSettings(array $settings): array
{
$enumIds = [];
foreach ($settings as $setting)
{
if ($setting['PROPERTY_TYPE'] === PropertyTable::TYPE_LIST)
{
$enumIds[] = $setting['ID'];
}
}
$enumSettings = PropertyEnumerationTable::getList([
'select' => ['ID', 'PROPERTY_ID'],
'filter' => [
'PROPERTY_ID' => $enumIds,
'=DEF' => 'Y',
],
])
->fetchAll()
;
$enumSettings = array_column($enumSettings, 'ID', 'PROPERTY_ID');
if (!empty($enumSettings))
{
foreach ($settings as &$setting)
{
if (isset($enumSettings[$setting['ID']]))
{
$setting['DEFAULT_VALUE'] = $enumSettings[$setting['ID']];
}
}
}
return $settings;
}