Всем привет.

Недавно у меня возникла необходимость выводить на клиентском сайте, на странице раздела каталога количество активных элементов.

Сперва я пробовал стандартный CIBlockSection::GetList, но он возвращал количество всех элементов, а мне надо было получить количество только активных.
После некоторых ковыряний в хелпах по bitrix api решение было найдено.

Чтобы получить количество активных элементов в разделе каталога надо использовать следующий код.

$sect = CIBlockSection::GetList(
	Array("sort"=>"asc", 'name'=>'asc'), 
	Array(
		'IBLOCK_ID'=>3, 
		'ID'=>$arResult['ID'],
		'GLOBAL_ACTIVE'=>"Y",
		'CNT_ACTIVE'=>true
	), 
	true, 
	array('NAME')
);
while($el = $sect->Fetch()):
	$count += $el["ELEMENT_CNT"];
endwhile;
echo 'Товаров: '.$count;

Именно благодаря параметру ‘CNT_ACTIVE’=>true мы получаем количество только активных элементов каталога.
Еще маленькая хитрость, если для фильтрации использовать ID, а не SECTION_ID то мы избежим пропадания количества во вложенных подразделах.

Bitrix — количество активных элементов в разделе каталога
Метки:        

9 комментариев к “Bitrix — количество активных элементов в разделе каталога

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

90% сайтов рунета содержат уязвимости и могут быть взломаны! Проверь свой сайт!