- Модуль: 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;
}