Добавляю в корзину товар
[CODE]$addResult = $this->catalogTools->addProductToBasket([
'PRODUCT_ID' => 123,
'QUANTITY' => 1,
'CUSTOM_PRICE' => 'Y',
'PRICE' => 1000,
'CURRENCY' => 'RUB'
], [
'PRODUCT_PROVIDER_CLASS' => MyProvider::class
]);[/CODE]Тут цена 1000 возникает после моих сложных расчетов. Это цена зависит от множества свойств и мне нужно поддерживать актуальность цены в корзине после изменения какого-либо свойства.
В документации написано про функции обратного вызова (они устарели и их функциональность мигрировала в PRODUCT_PROVIDER_CLASS)
[QUOTE]Функция обратного вызова вызывается (если установлена) при каждом чтении корзины для обновления параметров содержащихся в корзине товаров.
[/QUOTE]
Из этих слов я понимаю, что раньше вызывался [B]CALLBACK_FUNC[/B], а теперь должен вызываться метод [B]IBXSaleProductProvider::GetProductData[/B]. Но он не вызывается при каждом чтение из корзины.
Пробовал не указывать провайдер, а указать только [B]CALLBACK_FUNC. [/B]Он вызывается при добавление корзины, но не вызывается при каждом обращение к корзине.
Как вообще правильно сделать свой актуализатор корзины?
[CODE]$addResult = $this->catalogTools->addProductToBasket([
'PRODUCT_ID' => 123,
'QUANTITY' => 1,
'CUSTOM_PRICE' => 'Y',
'PRICE' => 1000,
'CURRENCY' => 'RUB'
], [
'PRODUCT_PROVIDER_CLASS' => MyProvider::class
]);[/CODE]Тут цена 1000 возникает после моих сложных расчетов. Это цена зависит от множества свойств и мне нужно поддерживать актуальность цены в корзине после изменения какого-либо свойства.
В документации написано про функции обратного вызова (они устарели и их функциональность мигрировала в PRODUCT_PROVIDER_CLASS)
[QUOTE]Функция обратного вызова вызывается (если установлена) при каждом чтении корзины для обновления параметров содержащихся в корзине товаров.
[/QUOTE]
Из этих слов я понимаю, что раньше вызывался [B]CALLBACK_FUNC[/B], а теперь должен вызываться метод [B]IBXSaleProductProvider::GetProductData[/B]. Но он не вызывается при каждом чтение из корзины.
Пробовал не указывать провайдер, а указать только [B]CALLBACK_FUNC. [/B]Он вызывается при добавление корзины, но не вызывается при каждом обращение к корзине.
Как вообще правильно сделать свой актуализатор корзины?