Принудительно отправить в кеш

Здравствуйте.
Подскажите, может быть кто реализовывал, или есть готовое решение (я не нашел).
Как отправить в кеш (стандартный — файловый) все страницы сайта, после его очистки?
Борис И
21 апреля 2016, 17:27
modx.pro
1
1 156
0

Комментарии: 5

Борис И
21 апреля 2016, 20:32
0
На просторах инета нашел плагин
/*
 
cachingResources
 
Кэширует ресурсы по заданным параметрам
 
OnSiteRefresh
 
*/
 
$start_id = $modx->getOption('start_id',$scriptProperties,2);
$depth = $modx->getOption('depth',$scriptProperties,50);
 
$start_resource = $modx->getObject('modResource',$start_id);
if(!$start_resource) return '';
 
$context = $start_resource->get('context_key');
$child_ids = $modx->getChildIds($start_id,$depth,array('context'=>$context));
array_push($child_ids,$start_id);
 
foreach($child_ids as $id){
     
    $url = $modx->makeUrl($id,$context,'','full');
    $content = file_get_contents($url);
     
}
unset($content);
 
return '';
который должен отправлять в кеш из заданной категории, что-то ничего не выходит
    Igor Ivanov
    22 апреля 2016, 07:49
    0
      Борис И
      22 апреля 2016, 17:27
      0
      Спасибо, попробую.
        Борис И
        22 апреля 2016, 18:39
        0
        Проверил, вещь хорошая, но не работает с tickets. Обычные ресурсы отправляет в кеш, а секции tickets и сами тиккеты (статьи) нет.
        Опечален…
          Георгий Пушкин
          20 июня 2016, 18:40
          +1
          Аналогично с Минишопом. Для себя решил проблему так:
          Строка 106 сниппета
          $query->where(array(
                     array(
                         'class_key:=' => 'modDocument',
                         'OR:class_key:=' => 'Article'
                     ),
          Добавляем строчки, чтобы получалось так
          $query->where(array(
                     array(
                         'class_key:=' => 'modDocument',
                         'OR:class_key:=' => 'Article',
                         'OR:class_key:=' => 'msCategory',
                         'OR:class_key:=' => 'msProduct'
                     ),
          Сделайте по аналогии с Тикетс.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5