<?php switch($modx->event->name){ case 'OnWebPageComplete': if (!empty($modx->resource) && $modx->resource->get('cacheable') && $modx->resource->get('published') && $modx->resource->_output != '' && $_SERVER['REQUEST_METHOD'] == 'GET' ) { $key = 'index.php?'; $key .= str_replace('&', '&',($_SERVER['QUERY_STRING'])); $modx->log(1, "Key: '{$key}'"); $modx->cacheManager->set($key , $modx->resource->_output); } break; default:; }
Проверка на GET чтобы если отправили форму не кешировалась страница с ответом.
$key = 'index.php?';
Чтобы ключ был красивее. Modx его все равно модифицирует. в
$this->key . '/' . $key;
$this->key это системная настройка cache_key Так что если cache_key = site.com Тогда в конфиге nginx пишем
set $memcached_key "site.com$uri?$args";