Вывод количества фотографий и фотоальбомов — различия между версиями
Материал из Umicms
Ver (обсуждение | вклад) (Новая страница: «== Задача == Необходимо в описании раздела вывести общее количество фотографий во всех его …») |
Ver (обсуждение | вклад) |
||
Строка 12: | Строка 12: | ||
// Получаем id типа данных "Фотография" | // Получаем id типа данных "Фотография" | ||
− | $ | + | $hierarchyTypes = umiHierarchyTypesCollection::getInstance(); |
− | $ | + | $hierarchyTypeId = $objectTypes->getTypeByName('photoalbum', 'photo')->getId(); |
// Считаем количество дочерних объектов типа "Фотография" | // Считаем количество дочерних объектов типа "Фотография" | ||
// Скрытые и неактивные не считаем | // Скрытые и неактивные не считаем | ||
$hierarchy = umiHierarchy::getInstance(); | $hierarchy = umiHierarchy::getInstance(); | ||
− | $childsCount = $hierarchy->getChildsCount($pid, false, false, 0, $ | + | $childsCount = $hierarchy->getChildsCount($pid, false, false, 0, $hierarchyTypeId); |
if($childsCount){ | if($childsCount){ |
Версия 11:39, 17 мая 2010
Задача
Необходимо в описании раздела вывести общее количество фотографий во всех его подразделах.
Решение
Воспользуемся кастомным макросом:
public function phtShowPhotoCountTotal($pid = 0) {
if(!$pid) {
return false;
}
// Получаем id типа данных "Фотография"
$hierarchyTypes = umiHierarchyTypesCollection::getInstance();
$hierarchyTypeId = $objectTypes->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%)%