Перед нами стоит задача в Bitrix Меню каталога вывести количество элементов раздела. По какой-то причине шаблоном это не предусмотрено, а массив (с данными о разделе) не содержит информации о количестве элементов внутри. На помощь приходит простой, понятный и короткий код:
Перед нами стоит задача в Bitrix Меню каталога вывести количество элементов раздела. По какой-то причине шаблоном это не предусмотрено, а массив (с данными о разделе) не содержит информации о количестве элементов внутри. На помощь приходит простой, понятный и короткий код:
$activeElements = CIBlockSection::GetSectionElementsCount($arItem["PARAMS"]["ID"], Array("CNT_ACTIVE"=>"Y"));
// Количество элементов теперь содержится в переменной $activeElements
В данном случае массив $arItem["PARAMS"]["ID"] содержит в себе ID элемента списка, по которому и определяет количество активных элементов внутри. Далее всё, что остаётся — это правильно применить условие.
Например стоит задача скрыть разделы в шаблоне навигации каталога, в которых нет активных элементов. Делается это простым условием:
<? if ($activeElements > 0) {
// Код если есть активные элементы, вывод самой ссылки на раздел
// Или показ количества активных элементов в ссылке переменной $activeElements
} else {
// Код, если активных элементов в разделе нет
}
?>
Вот и всё, простая заметка для доработки шаблона. Думаю многим будет полезно :)