Фильтрация разделов в Битрикс по наличию в элементах выбранного бренда

Если нужно отфильтровать разделы каталога по бренду например в левом блоке, то есть при выборе бренда в левом блоке показываются только те разделы где есть элементы с выбранным брендом, можно воспользоватся ниже указанный кодом.
logo
logo
PHP
<?
$sections_id = [];
$sections = [];

$arFilter = Array("IBLOCK_ID" => $catalog_id, "PROPERTY_BRAND" => $brand_id, "ACTIVE" => "Y");
$res = CIBlockElement::GetList(Array(), $arFilter, array("IBLOCK_SECTION_ID"), false, ["IBLOCK_SECTION_ID"]);

while($ob = $res->GetNext())
{
    $sections_id[] = $ob["IBLOCK_SECTION_ID"];
}

if($sections_id)
{
    $arFilter = Array('IBLOCK_ID' => $catalog_id, 'ID' => $sections_id, "DEPTH_LEVEL" => 2);
    $db_list = CIBlockSection::GetList(Array($by => $order), $arFilter, false, array("IBLOCK_SECTION_ID"));

    while($ar_result = $db_list->GetNext())
    {
        $sections[] = $ar_result;
    }
}

Спасибо! Заявка успешно отправлена, мы с Вами свяжемся в ближайшее время!