Хочу узнать правильно ли я вызываю метод
, потому что при выводе значений я получаю значения комплекта, который был до того как я изменил его у элемента.
Вот мой код
Пример ошибки:
Изначально в комплекте у элемента был товар с количеством = 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
Я думаю что я использую не правильный обработчик, который вызывается до изменения комплекта. Если это так, то подскажите какой именно обработчик нужно использовать