• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/catalogprovider.php
  • Класс: BitrixCatalogProductCatalogProvider
  • Вызов: CatalogProvider::getDiscountList
static function getDiscountList(array $priceDataList): array
	{
		$discountList = array();
		if (!empty($priceDataList))
		{
			foreach ($priceDataList as $productId => $priceBasketDataList)
			{
				foreach ($priceBasketDataList as $basketCode => $priceData)
				{
					if ($priceData === false)
					{
						continue;
					}

					if (empty($priceData['DISCOUNT_LIST']) && !empty($priceData['DISCOUNT']) && is_array($priceData['DISCOUNT']))
					{
						$priceDataList[$productId][$basketCode]['DISCOUNT_LIST'] = [$priceData['DISCOUNT']];
					}

					if (!empty($priceData['DISCOUNT_LIST']))
					{
						if (!isset($discountList[$productId]))
						{
							$discountList[$productId] = [];
						}
						if (!isset($discountList[$productId][$basketCode]))
						{
							$discountList[$productId][$basketCode] = [];
						}
						foreach ($priceData['DISCOUNT_LIST'] as $discountItem)
						{
							$discountList[$productId][$basketCode][] = CCatalogDiscount::getDiscountDescription($discountItem);
						}
						unset($discountItem);
					}

					if (empty($priceData['PRICE']['CATALOG_GROUP_NAME']))
					{
						if (!empty($priceData['PRICE']['CATALOG_GROUP_ID']))
						{
							$priceName = self::getPriceTitle($priceData['PRICE']['CATALOG_GROUP_ID']);
							if ($priceName != '')
							{
								$priceDataList[$productId][$basketCode]['PRICE']['CATALOG_GROUP_NAME'] = $priceName;
							}
							unset($priceName);
						}
					}
				}
			}
		}

		return $discountList;
	}