Вам надо класс на какой то отдельный пункт меню?
И не может не быть стандартного шаблона, все дефолтные шаблоны из поставки лежат в папке bitrix/components/menu/templates/
Далее вам надо лишь скопировать папку интересующего вас шаблона меню в папку с шаблоном сайта. А есть еще проще способ, ставим меню близкое по функционалу, включаем режим редактирования в публичной части, наводим курсор на меню, шаблон которого хотим скопировать, появится блок опций (там будет еще кнопка редактировать пункты меню), справка от шестеренки нажимаем на стрелочку вызывая доп.менюшку и там выбираем копировать шаблон. Называете его как нибудь (в эту папку будут скопированы файлы), выбираете Копировать в шаблон сайта - Текущий. И все. Если другие галочки не трогать откроется для редактирования файл шаблона.
Где будет что то на подобии:
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); ?>
<div class="menu menu--header">
<? if (!empty($arResult)): ?>
<ul class='nav__items nav__items--header'>
<? $previousLevel = 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): ?>
<li class='dropdown nav__item nav__item--main'><a href="<?= $arItem["LINK"] ?>" class="nav__link nav__link--main dropdown-toggle"><?= $arItem["TEXT"] ?></a>
<ul class='dropdown-menu'>
<? else: ?>
<li<? if ($arItem["SELECTED"]): ?> class="dropdown active"<? endif ?>>
<a href="<?= $arItem["LINK"] ?>" class="dropdown-toggle"><?= $arItem["TEXT"] ?></a>
<ul class='dropdown-menu'>
<? endif ?>
<? else: ?>
<? if ($arItem["DEPTH_LEVEL"] == 1): ?>
<li class="nav__item nav__item--main"><a class="nav__link nav__link--main" href="<?= $arItem["LINK"] ?>"><?= $arItem["TEXT"] ?></a></li>
<? else: ?>
<li><a href="<?= $arItem["LINK"] ?>"><?= $arItem["TEXT"] ?></a></li>
<?endif ?>
<?endif ?>
<? $previousLevel = $arItem["DEPTH_LEVEL"]; ?>
<? endforeach ?>
<? if ($previousLevel > 1): //close last item tags?>
<?= str_repeat("</ul></li>", ($previousLevel - 1)); ?>
<? endif ?>
</ul>
<? endif ?>
</div>
Если вам надо именно в файле меню добавить возможность к каждому отдельно взятому пункту приписать свой класс (допустим для иконок), то надо:
1. Прописать параметр передаваемый в шаблон, к примеру:
<?
$aMenuLinks = Array(
Array(
"",
"/index.php/",
Array(),
Array("menu_item_class" => "test_class"),
""
),
Array(
"Каталог",
"/catalog/",
Array(),
Array(),
""
),
Array(
"Доставка",
"/Доставка/",
Array(),
Array(),
""
)
);
?>
2. В шаблоне меню сделать вывод этого параметра:
class="menu_item <?if(isset($arItem["PARAMS"]["menu_item_class"])):?><?=$arItem["PARAMS"]["menu_item_class"]?><?endif?>"
UPD: Посмотрел ваш пример ниже. Основываясь на нем, я бы сделал вот так:
В файле шаблона:
<?foreach($arResult as $arItem):
if($arParams["MAX_LEVEL"] == 1 && $arItem["DEPTH_LEVEL"] > 1) continue;?>
<li>
<a href="<?=$arItem["LINK"]?>" class="menu__item_link
<?if($arItem["SELECTED"]):?>active-menu <?endif?>
<?if(isset($arItem["PARAMS"]["menu_item_class"])):?><?=$arItem["PARAMS"]["menu_item_class"]?><?endif?>
"><?=$arItem["TEXT"]?></a>
</li>
<?endforeach?>
Класс menu_item_link - просто класс, на который можно повесить стили, что бы не городить конструкции вида:
ul>li>a{}
Что весьма плохо.