Как контролировать изменение свойств товара при сохранении ресурса?
Добрый день!
Подскажите, пожалуйста, как можно отслеживать изменение свойств товара при его сохранении?
Положим, при изменении свойства товара «в наличии» нужно отправлять письмо пользователю о появлении в наличии товара.
Нужно написать плагин и повесить его на событие OnBeforeDocFormSave, как я понимаю. Но как получить значение свойства до сохранения ресурса и то, на которое происходит замена, чтобы их сравнить?
Если делать так, то получаю одинаковые значения
Подскажите, пожалуйста, как можно отслеживать изменение свойств товара при его сохранении?
Положим, при изменении свойства товара «в наличии» нужно отправлять письмо пользователю о появлении в наличии товара.
Нужно написать плагин и повесить его на событие OnBeforeDocFormSave, как я понимаю. Но как получить значение свойства до сохранения ресурса и то, на которое происходит замена, чтобы их сравнить?
Если делать так, то получаю одинаковые значения
$stock_new_value = $_REQUEST['stock'];
$stock_old_value = $resource->get('stock');
Комментарии: 7
Попробуй OnDocFormSave
тот же самый результат(
<?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;
}
Спасибо! Это помогло)
Если помогло, добавь плюсик в карму, это дело одного клика.
не вопрос!
Спасибо)))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.