Сегодня несложная задача — разукрасить пункты меню в разные цвета. Вот результат наших трудов. Наш способ решения поставленной задачи заключается в следующем: нужно просто-напросто присвоить каждому пунктику уникальный id. Так как меню создается динамически в цикле обхода массива элементов, то мы по законам жанра создаем счетчик и после каждой итерации будем путем конкатенации статической части имени и значения счетчика генерировать новый id. По заведенной привычке перед внесением изменений копируем шаблон и открываем файл template.php для правки. В принципе, все оставляем, как было:
<?if (!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED!==true)die();?>
<?if (!empty($arResult)):?>
<ul id=»horizontal-multilevel-menu»>
<?
$previousLevel = 0;
$iter = 0; //добавляем счетчик
foreach($arResult as $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):?>
//генерируем id и увеличиваем итератор
<li id=»<?echo «menu_».$iter;$iter++;?>»><a href=»<?=$arItem[«LINK»]?>» class=»<?if ($arItem[«SELECTED»]):?>root-item-selected<?else:?>root-item<?endif?>»><?=$arItem[«TEXT»]?></a>
<ul>
<?else:?>
<li<?if ($arItem[«SELECTED»]):?> class=»item-selected»<?endif?>><a href=»<?=$arItem[«LINK»]?>» class=»parent»><?=$arItem[«TEXT»]?></a>
<ul>
<?endif?>
<?else:?>
<?if ($arItem[«PERMISSION»] > «D»):?>
<?if ($arItem[«DEPTH_LEVEL»] == 1):?>
//генерируем id и увеличиваем итератор
<li id=»<?echo «menu_».$iter;$iter++;?>»><a href=»<?=$arItem[«LINK»]?>» class=»<?if ($arItem[«SELECTED»]):?>root-item-selected<?else:?>root-item<?endif?>»><?=$arItem[«TEXT»]?></a></li>
<?else:?>
<li<?if ($arItem[«SELECTED»]):?> class=»item-selected»<?endif?>><a href=»<?=$arItem[«LINK»]?>»><?=$arItem[«TEXT»]?></a></li>
<?endif?>
<?else:?>
<?if ($arItem[«DEPTH_LEVEL»] == 1):?>
<li><a href=»» class=»<?if ($arItem[«SELECTED»]):?>root-item-selected<?else:?>root-item<?endif?>» title=»<?=GetMessage(«MENU_ITEM_ACCESS_DENIED»)?>»><?=$arItem[«TEXT»]?></a></li>
<?else:?>
<li><a href=»» class=»denied» title=»<?=GetMessage(«MENU_ITEM_ACCESS_DENIED»)?>»><?=$arItem[«TEXT»]?></a></li>
<?endif?>
<?endif?>
<?endif?>
<?$previousLevel = $arItem[«DEPTH_LEVEL»];?>
<?endforeach?>
<?if ($previousLevel > 1)://close last item tags?>
<?=str_repeat(«</ul></li>», ($previousLevel-1) );?>
<?endif?>
</ul>
<div class=»menu-clear-left»></div>
<?endif?>
Вот, вобщем-то и всё. Теперь id каждого пунктика уникальный, и в нашем случае имеет вид id = «menu_1» , id = «menu_2» и т.д.