В компоненте catalog.section.list есть участок кода отвечающий за формирование элемента массива $arResult['SECTIONS']:
$rsSections = CIBlockSection::GetList($arSort, $sectionFilter, false, $arSelect);
$rsSections->SetUrlTemplates("", $arParams["SECTION_URL"]);
while($arSection = $rsSections->GetNext())
{
\Bitrix\Iblock\InheritedProperty\SectionValues::queue($arSection["IBLOCK_ID"], $arSection["ID"]);
$arSection['RELATIVE_DEPTH_LEVEL'] = $arSection['DEPTH_LEVEL'] - $intSectionDepth;
$arButtons = CIBlock::GetPanelButtons(
$arSection["IBLOCK_ID"],
0,
$arSection["ID"],
array("SESSID"=>false, "CATALOG"=>true)
);
$arSection["EDIT_LINK"] = $arButtons["edit"]["edit_section"]["ACTION_URL"];
$arSection["DELETE_LINK"] = $arButtons["edit"]["delete_section"]["ACTION_URL"];
$arSection["~ELEMENT_CNT"] = null;
$arSection["ELEMENT_CNT"] = null;
$arSection['ELEMENT_CNT_TITLE'] = '';
$arResult["SECTIONS"][]=$arSection;
}
Так вот я хочу отфильтровать из него категории у которых есть товар, но он весь не доступен. Но добавление в фильтре проверки на доступность:
$sectionFilter['CATALOG_AVAILABLE'] = 'Y';
не помогает. Что не так?!??