Узнать, изменилось ли значение TV

Всем хорошей пятницы!

Появился вопрос, который что-то не гуглится.
Пишу плагин, в котором нужно отслеживание изменения TV ресурса.

Можно ли как-то при сохранении документа получать старое и новое значение?

Попытался вот таким способом (работал в процессорах modextra):
//старое значение
$id = $modx->resource->get('id');
$doc = $modx->getObject('modResource', $id);
echo $doc->getTVValue('discount');

//новое значение
echo $modx->resource->getTVValue('discount');
Надеялся, что в modx->resource лежат еще не сохраненные данные.
Но, к сожалению, ошибся.

Есть какой-то способ?

Можно использовать события OnBeforeDocFormSave и OnDocFormSave, но как передавать значение при срабатывании разных событий?
Можно хранить его в сессии пользователя, но мне почему-то не нравится такое решение.
Олег
02 июня 2017, 06:57
modx.pro
955
0

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

Илья Уткин
02 июня 2017, 10:44
+1
Можно сохранять значение в свойствах ресурса (поле properties), например, autoRedirector так отслеживает изменения адресов страниц
    Олег
    02 июня 2017, 10:54
    0
    Очень ценный совет, спасибо!
    Я использовал это поле, но, к сожалению, совершенно про него забыл.
    Сейчас так и сделаю.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2