Предположим у меня готов сайт и он быстро грузится, но мне поставили задачу, реализация которой приведёт к замедлению его работы.
Например подчёт количества ресурсов в каталоге:
Эта задача на PHP SQL будет тормозить загрузку сайта, и было бы логично подгружать подчёт через AJAX уже после самой загрузки, а вместо значения подставить gif пока не загрузится.
Как можно эффективнее реализовать эту задачу средствами MODX?
Код сниппета который считает доч.элементы:
$id=$modx->getOption('id',$scriptProperties,0);
if ($id == 0) return 'Не задан id страницы';
$depth = 10; //глубина вложенности
$arr = $modx->getChildIds($id,$depth);//получили массив ids всех потомков(и контейнеров и документов)
if (count($arr) == 0) return '0';
$c = $modx->newQuery('modResource');
$c->where(array(
'id:IN'=>$arr, //выбираем только детей
'isfolder'=>0 //отсекаем контейнеры
));
$c->limit = 0;
$docs=$modx->getCollection('modResource',$c);//получили коллекцию детей-документов
return count($docs);