• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/order/builder/basketbuilder.php
  • Класс: BitrixSaleHelpersOrderBuilderBasketBuilder
  • Вызов: BasketBuilder::sendProductCachedDataToProvider
public function sendProductCachedDataToProvider(BasketItem $item, Order $order, array &$productData)
{
	if(empty($productData["PROVIDER_DATA"]) || !CheckSerializedData($productData["PROVIDER_DATA"]))
		return;

	$trustData = unserialize($productData["PROVIDER_DATA"], ['allowed_classes' => false]);

	//quantity was changed so data must be changed
	if(empty($trustData) || $trustData["QUANTITY"] == $productData["QUANTITY"])
		return;

	Provider::setTrustData($order->getSiteId(), $item->getField('MODULE'), $item->getProductId(), $trustData);

	if ($item->isBundleParent())
	{
		if ($bundle = $item->getBundleCollection())
		{
			/** @var BitrixSaleBasketItem $bundleItem */
			foreach ($bundle as $bundleItem)
			{
				$bundleItemData = $bundleItem->getFields()->getValues();
				Provider::setTrustData($order->getSiteId(), $bundleItem->getField('MODULE'), $bundleItem->getProductId(), $bundleItemData);
			}
		}
	}

	$this->trustData[$item->getBasketCode()] = $trustData;
}