Как контролировать изменение свойств товара при сохранении ресурса?

Добрый день!
Подскажите, пожалуйста, как можно отслеживать изменение свойств товара при его сохранении?
Положим, при изменении свойства товара «в наличии» нужно отправлять письмо пользователю о появлении в наличии товара.
Нужно написать плагин и повесить его на событие OnBeforeDocFormSave, как я понимаю. Но как получить значение свойства до сохранения ресурса и то, на которое происходит замена, чтобы их сравнить?
Если делать так, то получаю одинаковые значения
$stock_new_value = $_REQUEST['stock'];
$stock_old_value = $resource->get('stock');
Giant Dad
10 февраля 2023, 17:53
modx.pro
442
0

Комментарии: 7

Артур Шевченко
10 февраля 2023, 20:10
0
Попробуй OnDocFormSave
    Giant Dad
    12 февраля 2023, 09:14
    0
    тот же самый результат(
      Артур Шевченко
      12 февраля 2023, 11:42
      +2
      <?php
      switch ($modx->event->name) {
          case 'OnDocFormRender':
              $_SESSION['tmp_res'] = $resource->toArray();
          case 'OnDocFormSave':
              if ($mode == 'upd') { // если изменяется родитель
                  $resData = $resource->toArray();
                  $result = [];
                  foreach($resData as $k => $v){
                      if($_SESSION['tmp_res'][$k] !== $v){
                          $result[$k] = $v;
                      }
                  }
                 $_SESSION['tmp_res'] = $resData;
              }
          break;
      }
        Giant Dad
        13 февраля 2023, 15:30
        0
        Спасибо! Это помогло)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
7