Вывод количества фотографий и фотоальбомов — различия между версиями
Материал из Umicms
Ver (обсуждение | вклад)  | 
				Stexe (обсуждение | вклад)  м (переименовал «Вывод количества фотографий во всех подразделах» в «Вывод количества фотографий и фотоальбомов»)  | 
				
(нет различий) 
 | |
Версия 08:35, 28 апреля 2014
Задача
Необходимо в описании раздела вывести общее количество фотографий во всех его подразделах.
Решение
Воспользуемся кастомным макросом:
		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%)%