Нужен способ через API чистить кэш одного ресурса
Помогите кто знает
Нужен способ через API чистить кэш одного ресурса — товара в miniShop2
Что мне удалось нарыть самостоятельно:
forums.modx.com/index.php?topic=59814.0
Reply #6 — не работает
Reply #7 от Боба Рея — процессор не чистит кэш ресурса. Стопудово. Нужно чистить после внесения изменений. А я изменения вношу напрямую через MySQL (импортирую файл большого объёма) по расписанию каждый час.
Чистить кэш всего сайта каждый час — вообще не вариант, учитывая определённые уязвимости.
Последнее, что я пробовал, что в моём понимании должно было работать, но по факту не работает:
Нужен способ через API чистить кэш одного ресурса — товара в miniShop2
Что мне удалось нарыть самостоятельно:
forums.modx.com/index.php?topic=59814.0
Reply #6 — не работает
Reply #7 от Боба Рея — процессор не чистит кэш ресурса. Стопудово. Нужно чистить после внесения изменений. А я изменения вношу напрямую через MySQL (импортирую файл большого объёма) по расписанию каждый час.
Чистить кэш всего сайта каждый час — вообще не вариант, учитывая определённые уязвимости.
Последнее, что я пробовал, что в моём понимании должно было работать, но по факту не работает:
<?php
$id=27;
$resource=$modx->getObject('modResource',$id);
$alias=$resource->get('alias');
$params=array(
'id' => $id
, 'alias' => $alias
, 'alias' => $alias
,'context_key' => 'web'
);
$options=array();
$res=$modx->runProcessor('resource/update', $params,$options);
return $res; Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
а) принят в 2.3
б) давно работает в Tickets и MS2
в) я все равно его проверил перед тем, как тебе ответить. А ты… ай-ай-ай!
Коммент Боба Рея задурил мне голову )))
Предложенный вариант
работает, но как-то странно… я наблюдал, что при первом обновлении страницы после выполнения этого кода — страница всё равно загружается из Кэша, очень похоже, что это был кэш браузера.
А вот такой вариант чистит сразу:
Изменения видны при первом же обновлении страницы.
Но в обоих вариантах используется объект cacheManager
сам код: