Bitrix menu multilevel nic

Материал из GutenWeb Wiki

Перейти к: навигация, поиск


<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>


<?if (!empty($arResult)):?><div class="menu-sitemap-tree">

<?foreach($arResult as $i => $arItem):

	if ($arItem["IS_PARENT"]): //non deepest?
	
		$Testing = $i; //next parent testing...
		if ($arItem["SELECTED"] == "1"): //non deepest selected found
			$arSelected[$Testing] = TRUE;
		endif;
		
	else: //deepest
	
		if ($arItem["PERMISSION"] > "D"):
			if ($arItem["SELECTED"] == "1"): //deepest selected found
				$arSelected[$Testing] = TRUE;
			endif;
		endif;
		
	endif;
endforeach;?>
<?//print_r($arSelected);?>

<ul>
	<?$previousLevel = 0;
	foreach($arResult as $i => $arItem):?>
		<?if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):?>
			<?=str_repeat("</ul></li>", ($previousLevel - $arItem["DEPTH_LEVEL"]));?>
		<?endif?>
		<?if ($arItem["IS_PARENT"]): //non deepest? ?>
			<li class="<?if (!$arSelected[$i]):?>closeSubmenu<?endif?>">
		
				<div class="<?if ($arItem["SELECTED"]):?>item-text-selected<?else:?>item-text<?endif?>">
			
					<a href="<?=$arItem["LINK"]?>" title="<?=$arItem["TEXT"]?>"><?=$arItem["TEXT"]?></a>
				</div>
		<ul>
		<?else: //deepest ?>
		<?if ($arItem["PERMISSION"] > "D"):?>
		<li>
			<div class="<?if ($arItem["SELECTED"]):?>item-text-selected-deepest
				<?else:?>item-text-deepest<?endif?>">
			
				<a href="<?=$arItem["LINK"]?>" title="<?=$arItem["TEXT"]?>"><?=$arItem["TEXT"]?></a>
			</div>
		</li>
		<?endif?>
		<?endif?>
		<?$previousLevel = $arItem["DEPTH_LEVEL"];?>
		
	<?endforeach?>
	
	<?if ($previousLevel > 1)://close last item tags?>
	<?=str_repeat("</ul></li>", ($previousLevel-1) );?><?endif?></ul></div>

<?endif?>

<pre><?php print_r($arSelected) ?>

</pre>


</pre>