• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/providerbase.php
  • Класс: BitrixSaleProviderBase
  • Вызов: ProviderBase::getProviderDataByProductData
static function getProviderDataByProductData($providerClass, $productData, array $context)
{
	$result = new Result();

	$providerName = null;
	if (!empty($providerClass))
	{
		$reflect = new ReflectionClass($providerClass);
		$providerName = $reflect->getName();
	}

	$productId = $productData['PRODUCT_ID'];

	$items = array( $productId => $productData );

	$r = static::getProductDataByList($items, $providerName, array('PRICE', 'COUPONS', 'AVAILABLE_QUANTITY', 'QUANTITY'), $context);

	if ($r->isSuccess())
	{
		$resultData = $r->getData();
		$isExistsProductDataList = isset($resultData['PRODUCT_DATA_LIST']) && !empty($resultData['PRODUCT_DATA_LIST']);
		$isExistsProductData = isset($resultData['PRODUCT_DATA_LIST'][$productId]);

		if ($isExistsProductDataList && $isExistsProductData)
		{
			$result->setData($resultData['PRODUCT_DATA_LIST'][$productId]);
		}
	}

	return $result;
}