Ок. Как?
В объекте {$_modx} доступен сервиc modX::cacheManager, который позволяет вам устанавливать произвольное время кэширование вызываемых сниппетов:
{if !$snippet = $_modx->cacheManager->get('cache_key')}
{set $snippet = $_modx->runSnippet('!pdoResources', [
'parents' => 0,
'tpl' => '@INLINE {$id} - {$pagetitle}',
'showLog' => 1,
])}
{set $null = $_modx->cacheManager->set('cache_key', $snippet, 1800)}
{/if}
{$snippet}