Ситуаци бывают разные, мы рассмотрим одну конкретную.
Например: мы добавили собственное поле view в таблицу site_content по примеру, создали плагин по примеру, и всё хорошо, всё работает.
Но это до тех пор, пока страница, где вызывается это поле, не окажется полностью закэшированной. С этого момента хоть и изменилось значение поля view на странице будет отображаться значение из кэша.
По этому разобравшись в кэше мы выяснили как очистить кэш у определенного ресурса.
// получаем массив с данными ресурса, например 123
$resource=$modx->getObject('modResource',123);
// запоминаем кэш ключ ресурса
$cacheKey=$resource->getCacheKey();
// по кэш ключу пересоздаем файлы кэша
$modx->cacheManager->refresh(array(
'resource' => array('key' => $cacheKey),
));
Если необходимо очистить кэш многих ресурсов, то впринципе всё тоже самое.
// получаем массив с данными ресурсов, например 123 и 321
$resources=$modx->getCollection('modResource',array(
'id' => array(123,321)
));
foreach ($resources as $key => $resource) {
// запоминаем кэш ключ ресурса
$cacheKey=$resource->getCacheKey();
// по кэш ключу пересоздаем файлы кэша
$modx->cacheManager->refresh(array(
'resource' => array('key' => $cacheKey),
));
}