Добрый день, подскажите пожалуйста, зада простая но что то не могу понять где я не то делаю.
Есть меню из разделов ИБ:
Код |
---|
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)
die();
global $APPLICATION;
$aMenuLinksExt=$APPLICATION->IncludeComponent("bitrix:menu.sections", "", array(
"IS_SEF" => "Y",
"ID" => $_REQUEST["ID"],
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "1",
"SECTION_URL" => "",
"DEPTH_LEVEL" => "4",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"SEF_BASE_URL" => "/catalog/",
"SECTION_PAGE_URL" => "#SECTION_CODE#/",
"DETAIL_PAGE_URL" => "#SECTION_CODE#/#ELEMENT_CODE#/"
),
false
);
$aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks);
?> |
В шаблоне меню :
Код |
---|
<?
$previousLevel = 0;
foreach($arResult as $key => $arItem):?>
<?if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):?>
<?=str_repeat("</ul></li>", ($previousLevel - $arItem["DEPTH_LEVEL"]));?>
<?endif?>
<?if ($arItem["IS_PARENT"]):?>
<?if ($arItem["DEPTH_LEVEL"] == 1):?>
<li class="element_<?=$key>"><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a>
<div class="mainPodMenu">
<ul class="podMenu desktopMenu">
<?else:?>
<li><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a>
<ul>
<?endif?>
<?else:?>
<?if ($arItem["PERMISSION"] > "D"):?>
<?if ($arItem["DEPTH_LEVEL"] == 1):?>
<li class="element_<?=$key?>"><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a></li>
<?else:?>
<li class="dopMenu"><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a></li>
<?endif?>
<?endif?>
<?endif?>
<?$previousLevel = $arItem["DEPTH_LEVEL"];?>
<?endforeach?> |
Задача в том что бы у первого уровня меню вывести иконки (каждая иконка у своего раздела первого уровня). Добавляю к классу номер все выводится:
но если появляется элемент в каком нибудь разделе каталога то
key меняется и соответственно сбиваются иконки у меню.
Подскажите что я не так делаю, где ошибаюсь.