Отобразить кол-во потомков за минусом уже выведенных в pdoMenu для категорий

Всем здравия! Подскажите, как поправить сниппет таким образом, что бы он выводил не общее количество потомков, а количество оставшихся. Пример. Выведен pdoMenu с лимитом 6, а в общем потомков 27, и сниппет должен выводить "+Еще 21". Так: disk.yandex.ru/i/qQLGL3Y6VW_5Yw
Вот код сниппета: ЗАРАНЕЕ СПАСИБО!!!
$count = 0;
$parent = isset($parent) ? (integer) $parent : 0;

// Define Parents
$q = $modx->newQuery('modResource');
$q->where(array(
  'class_key' => 'msCategory' // Только категории Minishop
  ));
$q->select(array(
  'id',
  'parent'
));
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);

$parent_ids = array($parent);
$i = 0;
while(true){
  $i++;
  $action = false;
  foreach($res as $v){
    if(in_array($v['parent'], $parent_ids) AND !in_array($v['id'], $parent_ids)){
      $parent_ids[] = $v['id'];
      $action = true;
    }
  }
  if(!$action || $i > count($res)){
    break;
  }
}
//return $i;

if ($parent > 0) {
  $q = $modx->newQuery('modResource');
  $q->where(array(
    'parent:IN' => $parent_ids
    ));
  $q->select(array(
    'id'
  ));
  $q->prepare();
  $q->stmt->execute();
  $count = count($q->stmt->fetchAll(PDO::FETCH_ASSOC));
  
}
return (string) $count;
Константин
08 ноября 2022, 18:09
modx.pro
490
0

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

Артур Шевченко
08 ноября 2022, 18:28
0
Передать в сниппет параметры $limit и $offset который будет показывать сколько отступить от начала выборки. И до $q->prepare(); написать $query->limit($limit,$offset);
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1