• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/systemfield/highloadblock.php
  • Класс: BitrixCatalogProductSystemFieldHighloadblock
  • Вызов: Highloadblock::getXmlIdListById
static function getXmlIdListById(int $hlblockId, array $idList): array
{
	$className = get_called_class();
	if (!isset(self::$dictionary[$className]))
	{
		self::$dictionary[$className] = [];
	}

	$result = [];

	$needList = [];
	foreach ($idList as $id)
	{
		if (isset(self::$dictionary[$className][$id]))
		{
			if (self::$dictionary[$className][$id] !== false)
			{
				$result[$id] = self::$dictionary[$className][$id];
			}
		}
		else
		{
			$needList[] = $id;
		}
	}
	unset($id);

	if (!empty($needList))
	{
		$list = TypeHighloadBlock::getXmlIdById($hlblockId, $needList);
		foreach ($needList as $id)
		{
			self::$dictionary[$className][$id] = $list[$id] ?? false;
			if (self::$dictionary[$className][$id] !== false)
			{
				$result[$id] = self::$dictionary[$className][$id];
			}
		}
		unset($id, $list);
	}
	unset($needList);
	unset($className);

	return $result;
}