• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/catalog/provider.php
  • Класс: BitrixSaleInternalsCatalogProvider
  • Вызов: Provider::getProductData
static function getProductData($basketList, array $context)
{
	$result = new SaleResult();

	if (empty($context))
	{
		throw new MainArgumentNullException('context');
	}

	if (!is_array($basketList) && !($basketList instanceof SaleBasketBase))
	{
		throw new MainArgumentTypeException('basketList');
	}

	$creator = SaleInternalsProviderCreator::create($context);
	/** @var SaleBasketItem $basketItem */
	foreach ($basketList as $basketItem)
	{
		$creator->addBasketItem($basketItem);
	}

	$r = $creator->getProductData();
	if ($r->isSuccess())
	{
		$data = $r->getData();
		if (array_key_exists('PRODUCT_DATA_LIST', $data))
		{
			$result->setData($data);
		}
	}
	else
	{
		$result->addErrors($r->getErrors());
	}

	return $result;
}