<?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";