Только что попробовал - можно легко кастомизировать компонент bitrix:menu.sections, в файле ext-меню (напр., .left.menu_ext.php) заменить вызов компонента на кастомизированный.
А кастомизировать так:
в последних строках, где формируется массив
[CODE]$aMenuLinksNew[$menuIndex++] = array(
htmlspecialchars($arSection["~NAME"]),
$arSection["~SECTION_PAGE_URL"],
$arResult["ELEMENT_LINKS"][$arSection["ID"]],
array(
"FROM_IBLOCK" => true,
"IS_PARENT" => false,
"DEPTH_LEVEL" => $arSection["DEPTH_LEVEL"],
),
);
[/CODE]
добавить указание SECTION_ID:
[CODE]$aMenuLinksNew[$menuIndex++] = array(
htmlspecialchars($arSection["~NAME"]),
$arSection["~SECTION_PAGE_URL"],
$arResult["ELEMENT_LINKS"][$arSection["ID"]],
array(
"FROM_IBLOCK" => true,
"IS_PARENT" => false,
"DEPTH_LEVEL" => $arSection["DEPTH_LEVEL"],
"SECTION_ID" => $arSection["ID"],
),
);
[/CODE]
При необходимости также можно указать ID инфоблока.
Теперь в шаблоне меню, в $arItem["PARAMS"] появится SECTION_ID - по этому ключу и можно идентифицировать ссылку. Желательно, конечно, учитывать ID инфоблока.
А кастомизировать так:
в последних строках, где формируется массив
[CODE]$aMenuLinksNew[$menuIndex++] = array(
htmlspecialchars($arSection["~NAME"]),
$arSection["~SECTION_PAGE_URL"],
$arResult["ELEMENT_LINKS"][$arSection["ID"]],
array(
"FROM_IBLOCK" => true,
"IS_PARENT" => false,
"DEPTH_LEVEL" => $arSection["DEPTH_LEVEL"],
),
);
[/CODE]
добавить указание SECTION_ID:
[CODE]$aMenuLinksNew[$menuIndex++] = array(
htmlspecialchars($arSection["~NAME"]),
$arSection["~SECTION_PAGE_URL"],
$arResult["ELEMENT_LINKS"][$arSection["ID"]],
array(
"FROM_IBLOCK" => true,
"IS_PARENT" => false,
"DEPTH_LEVEL" => $arSection["DEPTH_LEVEL"],
"SECTION_ID" => $arSection["ID"],
),
);
[/CODE]
При необходимости также можно указать ID инфоблока.
Теперь в шаблоне меню, в $arItem["PARAMS"] появится SECTION_ID - по этому ключу и можно идентифицировать ссылку. Желательно, конечно, учитывать ID инфоблока.