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