Хочу узнать правильно ли я вызываю метод
, потому что при выводе значений я получаю значения комплекта, который был до того как я изменил его у элемента.
Вот мой код
Пример ошибки:
Изначально в комплекте у элемента был товар с количеством = 1
Я изменяю его на 2, в ответе я получаю 1, и если еще раз меняю допустим на 3, то получаю 2
Я думаю что я использую не правильный обработчик, который вызывается до изменения комплекта. Если это так, то подскажите какой именно обработчик нужно использовать
Код |
---|
CCatalogProductSet::getAllSetsByProduct |
Вот мой код
Код |
---|
use \Bitrix\Catalog\Product; \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'catalog', 'OnBeforeProductUpdate', 'myAfterIBlockElementUpdateHandler2' ); function myAfterIBlockElementUpdateHandler2(&$arFields) { $arSet2 = CCatalogProductSet::getAllSetsByProduct($arFields, CCatalogProductSet::TYPE_SET); file_put_contents(__DIR__ . '/arFields2.json', json_encode($arSet2, JSON_UNESCAPED_UNICODE)); } |
Пример ошибки:
Изначально в комплекте у элемента был товар с количеством = 1
Я изменяю его на 2, в ответе я получаю 1, и если еще раз меняю допустим на 3, то получаю 2
Я думаю что я использую не правильный обработчик, который вызывается до изменения комплекта. Если это так, то подскажите какой именно обработчик нужно использовать