• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/component/base.php
  • Класс: BitrixIblockComponentBase
  • Вызов: Base::getProductsSeparatedByIblock
protected function getProductsSeparatedByIblock()
{
	$iblockItems = array();

	if (!empty($this->productIdMap) && is_array($this->productIdMap))
	{
		$itemsIterator = IblockElementTable::getList(array(
			'select' => array('ID', 'IBLOCK_ID'),
			'filter' => array('@ID' => $this->productIdMap)
		));
		while ($item = $itemsIterator->fetch())
		{
			$item['ID'] = (int)$item['ID'];
			$item['IBLOCK_ID'] = (int)$item['IBLOCK_ID'];

			if (!isset($iblockItems[$item['IBLOCK_ID']]))
			{
				$iblockItems[$item['IBLOCK_ID']] = array();
			}

			$iblockItems[$item['IBLOCK_ID']][] = $item['ID'];
		}
		unset($item, $itemsIterator);
	}
	elseif ($this->productIdMap === false)
	{
		$iblockItems[$this->arParams['IBLOCK_ID']] = $this->arParams['ELEMENT_ID'] ?? 0;
	}

	return $iblockItems;
}