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