Добрый день, не могу понять почему не работает провайдер при добавлении товара в заказ. Задача поменять цену.
При добавлении в корзину на сайте всё работает.
[CODE] $basketResult = Bitrix\Catalog\Product\Basket::addProduct(array(
"PRODUCT_ID" => floatval($_GET["id"]),
"QUANTITY" => $addBasketQuantity,
"PROPS" => array(),
),
array(
'PRODUCT_PROVIDER_CLASS' => 'CCustomCatalogProvider'
)
);[/CODE]Но в админке нет.
Пробовал решение
На событие [CODE]OnSaleOrderBeforeSaved[/CODE], присваиваю [CODE]$basketItem->setField("PRODUCT_PROVIDER_CLASS", 'CCustomCatalogProvider');[/CODE]Событие отслеживается значение задаётся, но цена не меняется. В провайдере цену меняю в массиве $result['PRICE'] в переопределённом методе
[CODE]$result = parent::GetProductData($arParams);[/CODE]
Надеюсь кто-то уже сталкивался
При добавлении в корзину на сайте всё работает.
[CODE] $basketResult = Bitrix\Catalog\Product\Basket::addProduct(array(
"PRODUCT_ID" => floatval($_GET["id"]),
"QUANTITY" => $addBasketQuantity,
"PROPS" => array(),
),
array(
'PRODUCT_PROVIDER_CLASS' => 'CCustomCatalogProvider'
)
);[/CODE]Но в админке нет.
Пробовал решение
На событие [CODE]OnSaleOrderBeforeSaved[/CODE], присваиваю [CODE]$basketItem->setField("PRODUCT_PROVIDER_CLASS", 'CCustomCatalogProvider');[/CODE]Событие отслеживается значение задаётся, но цена не меняется. В провайдере цену меняю в массиве $result['PRICE'] в переопределённом методе
[CODE]$result = parent::GetProductData($arParams);[/CODE]
Надеюсь кто-то уже сталкивался