Вопрос по обновлению кэша на сайте на MODX после парсинга.

Здравствуйте!
Извините, мой уровень знаний в программировании примерно как у «чайника», поэтому делайте, пожалуйста, скидки при ответах)

При отработке скрипта, который парсит всего 4 значения для сайта, в том числе количество товара. В админке значения изменяются, а для пользователей остаются старые и висят невесть сколь долго((( Подозреваю что-то не так в настройках обновления кэша. Думаю где-то здесь собака порылась:
// очищаем кэш обновленных ресурсов
	$resources=$modx->getCollection('modResource',array(
		'id' => array_unique($contentids)
	));
	foreach ($resources as $key => $resource) {
		$cacheKey=$resource->getCacheKey();
		$modx->cacheManager->refresh(array(
			'resource' => array('key' => $cacheKey),
		));
	}
Хотелось бы чтобы после отработки скрипта — обновлялось и значение количество, так как только оно и видно для пользователя.
Помогите разобраться, желательно с комментариями, ибо не программист я( Заранее благодарен за подсказки.
Сергей
13 октября 2021, 10:21
modx.pro
362
0

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

Павел Романов
13 октября 2021, 11:18
0
Если количество товара выводится не только на странице самого товара, а еще, к примеру, в категориях, то лучше после парсинга чистить кеш всего сайта и вместо приведенного Вами кода поставить это:
$modx->cacheManager->refresh();

Если выводится только на странице товара (и если в массиве $contentids у Вас ID обновленных ресурсов), то так:
// очищаем кэш обновленных ресурсов
$ids = array_unique($contentids);
foreach($ids as $id){
    $resource=$modx->getObject('modResource',$id);
    $cacheKey = $resource->getCacheKey();
    $modx->cacheManager->refresh(array('resource' => array('key' => $cacheKey)));
}
    Сергей
    13 октября 2021, 13:09
    0
    Да, количество, только на странице товара.
    Огромное спасибо, сейчас поменяю код попробую, что получится, обязательно отпишусь!
      Сергей
      13 октября 2021, 16:47
      0
      Еще раз спасибо за помощь — все заработало вроде, стало адекватно обновляться!!!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3