Исправляем ошибку в стандартном меню при нескольких активных пунктах

Если в компоненте меню разрешить несколько активных пунктов, то активными будут считать все пункты по цепочке до открытого раздела/страницы.
Но вот, если у вас в меню есть пункт "Главная", ведущий на корень "/", то при переходе на любую вторичную страницу "Главная" будет считаться активным пунктом. По логике это верно, но выглядит странно, когда в главном меню активны 2 пункта (визуально) одного уровня вложенности.
Для исправления этой ошибки, можно прописать в reuslt_modifier.php такой код:
<?if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true)die();

$iMainKey         = false;
$iSelectedCount   = 0;
foreach($arResult as $key=>$arItem) {
   $iSelectedCount   += ($arItem["SELECTED"]) ? 1 : 0;
   if($arItem["LINK"]===SITE_DIR) $iMainKey = $key;
}
if(is_numeric($iMainKey) && $iSelectedCount > 1) {
   $arResult[$iMainKey]['SELECTED'] = false;
}

Немного поясню:
Здесь считаем число активных пунктов и определяем, есть ли в меню ссылка на корень.
Если активных пунктов больше одного и есть ссылка на корень, то снимаем флаг SELECTED с пункта меню «Главная».