Вывод количества фотографий во всех подразделах
Материал из Umicms
Задача
Необходимо в описании раздела вывести общее количество фотографий во всех его подразделах.
Решение
Воспользуемся кастомным макросом:
public function phtShowPhotoCountTotal($pid = 0) { if(!$pid) { return false; } // Получаем id типа данных "Фотография" $hierarchyTypes = umiHierarchyTypesCollection::getInstance(); $hierarchyTypeId = $hierarchyTypes->getTypeByName('photoalbum', 'photo')->getId(); // Считаем количество дочерних объектов типа "Фотография" // Скрытые и неактивные не считаем $hierarchy = umiHierarchy::getInstance(); $childsCount = $hierarchy->getChildsCount($pid, false, false, 0, $hierarchyTypeId); if($childsCount){ return $childsCount; } else { return false; } }
Далее, в шаблон Фотогалереи добавим в нужное место строчку:
%custom phtShowPhotoCountTotal(%pid%)%
