Отобразить кол-во потомков за минусом уже выведенных в 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;
Комментарии: 1
Передать в сниппет параметры $limit и $offset который будет показывать сколько отступить от начала выборки. И до $q->prepare(); написать $query->limit($limit,$offset);
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.