• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/component/baseform.php
  • Класс: BitrixCatalogComponentBaseForm
  • Вызов: BaseForm::getUserFieldHighloadblockItems
private function getUserFieldHighloadblockItems(array $userField): array
{
	$list = [];
	if (
		$userField['MANDATORY'] === 'N'
		&& $userField['MULTIPLE'] === 'N'
	)
	{
		$list[] = [
			'ID' => '0',
			'VALUE' => '0',
			'NAME' => Loc::getMessage('CATALOG_PRODUCT_CARD_USERFIELD_MESS_EMPTY_VALUE')
		];
	}

	$entity = HighloadHighloadBlockTable::compileEntity($userField['SETTINGS']['HLBLOCK_ID']);
	$fieldsList = $entity->getFields();
	if (isset($fieldsList['ID']) && isset($fieldsList['UF_NAME']))
	{
		$entityDataClass = $entity->getDataClass();
		$iterator = $entityDataClass::getList([
			'select' => [
				'ID',
				'UF_NAME',
			],
			'order' => [
				'UF_NAME' => 'ASC',
			],
		]);
		while ($value = $iterator->fetch())
		{
			$list[] = [
				'ID' => $value['ID'],
				'VALUE' => $value['ID'],
				'NAME' => $value['UF_NAME'],
			];
		}
		unset($value, $iterator);
		unset($entityDataClass, $entity);
	}

	return (!empty($list) ? ['items' => $list] : []);
}