Выводим количество документов в папке ChildCounter

Опубликовано: 02 Мая 2016

Создем сниппет с именем ChildCounter с таким содержанием:

<?php
$docid = isset($docid) ? intval($docid) : $modx->documentIdentifier;
$depth = isset($depth) ? intval($depth) : 0;
$isfolder = isset($isfolder) ? intval($isfolder): 0;
$tpl = isset($tpl) ? $tpl: -1;
$published = isset($published) ? intval($published): 1;
$davailable = $modx->getChildIds($docid, $depth);
 if ($davailable){
    $where = ($tpl > 0) ? 'template='.$tpl : 'isfolder='.$isfolder;
    $dcount = $modx->getDocuments($davailable, $published, 0, 'id', $where);
    return count($dcount);
}
return 0;
?>

&dicId - ID папки из которой будем считывать документы
&depth - глубина считывания документов
&isfolder - Если 1 - вернёт количество папок, если 0 - количество документов, НЕ папок.  По умолчанию стоит 0.
&published - Если 0 - вернёт кол-во неопубликованных документов, если 1 - сколько опубликованных документов. По умолчанию 1.
&tpl - если указан, то возвращает количество документов с шаблоном id которого равен &tpl
 
Вставляем в нужное место шаблона

[ [ChildCounter? &docid=`40` &depth=`3` &tpl=`30` &published=`1` &isfolder=`0`]]

вернет количество опубликованных документов с шаблоном 30 в контейнере с id равным 40 при глубине сканирования 3.

Комментарии (0)


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: