foxayb
@foxayb
newbie

Как добавить свои классы всем пунктам меню bitrix?

Добрый день, имеется стандартное меню битрикса. Задача сделать его более "управляемым" добавив классы в пункты меню. Может имена классов присваивать из ссылки меню? Только не знаю, как это реализовать, прошу помощи

Например, вот участок когда:
<?if ($arItem["DEPTH_LEVEL"] == 1):?>
				<li><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?>
  • Вопрос задан
  • 2180 просмотров
Пригласить эксперта
Ответы на вопрос 2
Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!
Можно сделать так. В редакторе открываем нужное вам меню, например .top.menu.php
$aMenuLinks = Array(
    Array(
        "Каталог",
        "/catalog/",
        Array(),
        Array("EXT_CLASS" => "item-catalog"), // Добавим свой класс для меню "Каталог"
        ""
    ),
    Array(
        "Сервис",
        "/service/",
        Array(),
        Array(),
        ""
    ),
    Array(
        "О компании",
        "/about/",
        Array(),
        Array(),
        ""
    )
);

В шаблоне меню template.php
foreach ($arResult as $arItem):

            $class_ext = "";
            if (!empty($arItem["PARAMS"]["EXT_CLASS"])) {
                $class_ext = " " . $arItem["PARAMS"]["EXT_CLASS"];
            }

            if ($arItem["IS_PARENT"]):
                if ($arItem["DEPTH_LEVEL"] == 1):
                    ?>
                    <li class="root-item parent<?= $class_ext ?>">
                        <a href="<?= $arItem["LINK"] ?>" class="root-item-link">
                            <span><?= trim($arItem["TEXT"]); ?></span>
                        </a>
Ответ написан
sabramovskikh
@sabramovskikh
Открыть меню в режиме расширенного редактирования и добавить параметры. В шаблоне вывести эти параметры
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы