@roman94

Как узнать какие именно поля были изменены при вызове события OnAfterIBlockSectionUpdate?

Стоит задача, совершать некоторые действия при изменении раздела инфоблока, только если было изменено его имя. Знаю, что можно сохранить состояние при вызове события OnBeforeIBlockSectionUpdate. Есть ли альтернативный вариант?
  • Вопрос задан
  • 265 просмотров
Решения вопроса 1
@jasper-blondin
Не надо ничего сохранять.
При срабатывании события OnBeforeIBlockSectionUpdate получите поля (из параметры функции-обработчика). Это новые значения. А как получить старые, Вы уже знаете: CIBlockSection::GetByID().

Получается, что Ваша задача сводится к банальному условию в обработчике:
$oldFields = \CIBlockSection::GetByID($fields["ID"])->GetNext();
if($fields["NAME"] != $oldFields["NAME"]) {...}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы