• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/systemfield/type/highloadblock.php
  • Класс: Bitrix\Catalog\Product\SystemField\Type\HighloadBlock
  • Вызов: HighloadBlock::getXmlIdById
static function getXmlIdById(int $hlblockId, array $ids): array
{
	$result = [];
	Main\Type\Collection::normalizeArrayValuesByInt($ids);
	if (empty($ids))
	{
		return $result;
	}
	$hlblock = Highload\HighloadBlockTable::resolveHighloadblock($hlblockId);
	if ($hlblock === null)
	{
		return $result;
	}
	$entity = Highload\HighloadBlockTable::compileEntity($hlblock);
	$fieldsList = $entity->getFields();
	if (isset($fieldsList['ID']) && isset($fieldsList['UF_XML_ID']))
	{
		$entityDataClass = $entity->getDataClass();
		$iterator = $entityDataClass::getList([
			'select' => [
				'ID',
				'UF_XML_ID',
			],
			'filter' => [
				'@ID' => $ids,
			],
		]);
		while ($value = $iterator->fetch())
		{
			$result[$value['ID']] = $value['UF_XML_ID'];
		}
		unset($value, $iterator);
		unset($entityDataClass);
	}
	unset($fieldsList, $entity);

	return $result;
}