[QUOTE]
Евгений Наумов написал:
но не вызывается при каждом обращение к корзине.[/QUOTE]
Разобрался. Класс моего провайдера [B]MyProvider::class [/B]подключается в моем модуле. Т.е. его нет пока я не сделаю
[CODE]\Bitrix\Main\Loader::includeModule('mymodule');[/CODE]
Метод [B]Bitrix\Catalog\Product::addProduct [/B]по умолчанию передает параметр MODULE = catalog. Когда в параметры добавления в корзину передаю id своего модуля, то все ок. Метод провайдера вызывается при каждом обращении к корзине
[CODE]Bitrix\Catalog\Product\Basket::addProduct([
'PRODUCT_ID' => 123,
'QUANTITY' => 1,
'CUSTOM_PRICE' => 'Y',
'PRICE' => 1000,
'CURRENCY' => 'RUB'
], [
'PRODUCT_PROVIDER_CLASS' => MyProvider::class,
'MODULE' => 'mymodule'
]);[/CODE]