• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/discount/discountmanager.php
  • Класс: BitrixCatalogDiscountDiscountManager
  • Вызов: DiscountManager::getProductData
static function getProductData(&$productData, $entityData, $iblockData): void
{
	if (!empty($iblockData['iblockElement']))
	{
		$productList = array_keys($productData);
		if (!empty($entityData['iblockFields']))
		{
			foreach(self::loadIblockFields($productList, $entityData['iblockFields']) as $productId => $fields)
			{
				$productData[$productId] = (
					empty($productData[$productId])
					? $fields
					: array_merge($productData[$productId], $fields)
				);
			}
			unset($fields);
		}
		if ($entityData['sections'])
		{
			foreach(self::loadSections($productList) as $element => $sections)
			{
				$productData[$element]['SECTION_ID'] = array_keys($sections);
			}
		}
		if (!empty($entityData['needProperties']))
		{
			self::fillProperties($productData, $productList, $iblockData, $entityData);
		}
		if (!empty($entityData['catalogFields']))
		{
			foreach(self::loadCatalogFields($productList, $entityData['catalogFields']) as $productId => $fields)
			{
				$productData[$productId] = (
					empty($productData[$productId])
					? $fields
					: array_merge($productData[$productId], $fields)
				);
			}
			unset($fields);
		}
		if (!empty($entityData['priceFields']) && !empty($entityData['priceData']))
		{
			foreach($entityData['priceData'] as $productId => $priceId)
			{
				$productData[$productId]['CATALOG_GROUP_ID'] = $priceId;
			}
			unset($product, $productIterator);
		}

		if (!empty($iblockData['skuIblockList']))
			self::getParentProducts($productData, $entityData, $iblockData);
	}
}