Есть плагин, который срабатывает во время события 'OnWebPagePrerender', внутри плагина я выполняю ряд действий и сохраняю значение TV ресурса вот таким образом:
$tvcid = $modx->getObject('modTemplateVar',array('name' => 'views'));
$tvcid->setValue($modx->resource->get("id"), $views);
$tvcid->save();
$modx->cacheManager->clearCache();
Также пробовал вот таким:
$modx->resource->setTVValue('views', $views);
$modx->resource->save();
И в первом и другом случае код отрабатывает некорректно, изменение значения происходит через раз, а то и реже, непонятно с чем это связано. Эта часть кода 100% вызывается, я проверял.
Код для рассчета переменной views:
$views = $modx->resource->getTVValue("views");
$views = empty($views) ? 1 : ((int)$views + 1);
В чем может быть проблема и как это исправить?