В таком случае наверно лучше использовать OnWebPag
В таком случае наверно лучше использовать OnWebPageComplete. Это самое последнее событие, и как видишь, без учета закеширован или нет.
public function _postProcess() {
if ($this->resourceGenerated && $this->getOption('cache_resource', null, true)) {
if (is_object($this->resource) && $this->resource instanceof modResource && $this->resource->get('id') && $this->resource->get('cacheable')) {
$this->invokeEvent('OnBeforeSaveWebPageCache');
$this->cacheManager->generateResource($this->resource);
}
}
$this->invokeEvent('OnWebPageComplete');
}
Черновой код плагина:
<?php
switch($modx->event->name){
case 'OnWebPageComplete':
$key = "resource/".$modx->resourceIdentifier;
$output = & $modx->resource->_output;
$modx->cacheManager->set($key, $output);
break;
default:;
}
Но сейчас еще буду проверять насколько этот кеш годится. Ведь там php return. Скорее всего надо будет переопределять кеш-провайдер, чтобы сохранять чистый HTML.