Главное меню с ограничением по активному разделу

В прошлый раз было меню, где выпадали подразделы активного пункта, но и показывалось все остальное меню на ряду с ними. 

В этом же варианте меню на главной странице состоит из разделов каталога первого уровня, но при выборе раздела все, кроме выбранной ветки скрывается.

<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?if (!empty($arResult)):?>
<div class="list-group">
<?
$max_dl=1;
$levels=array();
$show_all=true;
foreach($arResult as $arItem){
if ($arItem["SELECTED"]){
$show_all=false;
break;
}
}
foreach($arResult as $arItem):
while ($lastlevel>$arItem["DEPTH_LEVEL"]){
$levels[$lastlevel]=false;
$lastlevel--;
}
if ($arItem["IS_PARENT"] and $arItem["SELECTED"]){
$levels[$arItem["DEPTH_LEVEL"]+1]=true;
}
if ($arItem["DEPTH_LEVEL"] == 1 or $levels[$arItem["DEPTH_LEVEL"]] or $arItem["SELECTED"]){
if ($max_dl>$arItem["DEPTH_LEVEL"]){
$max_dl=$arItem["DEPTH_LEVEL"];
$aa=$aa-1;
}
?>
<?
if ($arItem["SELECTED"] and $arItem["DEPTH_LEVEL"]>$selected_depth_level){
$selected_depth_level=$arItem["DEPTH_LEVEL"];
$aa++;
$max_dl++;
}
if ($aa||$show_all){
?>
<a href="<?=$arItem["LINK"]?>" class="<?if ($arItem["SELECTED"]):?>list-group-item active<?else:?>list-group-item<?endif?>"><?if ($selected_depth_level and $arItem["DEPTH_LEVEL"]>1)echo str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;',$aa)."&nbsp;";?><?=$arItem["TEXT"]?> <?=$aalevel?></a>
<?
}
}
$lastlevel=$arItem["DEPTH_LEVEL"];
endforeach?>
</div>
<?endif?>

Данный вид меню сейчас используется на https://scooterprice.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *