• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/providerbase.php
  • Класс: BitrixSaleProviderBase
  • Вызов: ProviderBase::makeArrayFromBasketCollection
static function makeArrayFromBasketCollection(BasketItemCollection $basketCollection, BasketItem $refreshItem = null)
{
	$basketList = array();
	/** @var BasketItem $basketItem */
	foreach ($basketCollection as $basketItem)
	{
		if ($refreshItem !== null)
		{

			if ($basketItem->getBasketCode() != $refreshItem->getBasketCode() && $basketItem->isBundleParent())
			{
				if ($bundleCollection = $basketItem->getBundleCollection())
				{
					$foundItem = false;
					/** @var BasketItem $bundleBasketItem */
					foreach ($bundleCollection as $bundleBasketItem)
					{
						if ($bundleBasketItem->getBasketCode() == $refreshItem->getBasketCode())
						{
							$foundItem = true;
							break;
						}
					}

					if (!$foundItem)
						continue;

					$basketList[] = $bundleBasketItem;
					continue;
				}
			}
			elseif ($basketItem->getBasketCode() != $refreshItem->getBasketCode())
			{
				continue;
			}

			$basketList[] = $basketItem;

			continue;
		}

		$basketList[] = $basketItem;

	}

	return $basketList;
}