Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Горизонтальное многоуровневое меню

00 голосов
4
спросил 13 Янв, 14 от RainWalke (100 баллов)

4 Ответы

00 голосов
Точнее так:
Код
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?if (!empty($arResult)):?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<?$previousLevel = 0;
foreach($arResult as $arItem):?>
<?if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):?>
    <?if ($arItem["DEPTH_LEVEL"]!=1):?>
        <?=str_repeat("</ul></li>", ($previousLevel - $arItem["DEPTH_LEVEL"]));?>
    <?else:?>
    <? echo str_repeat("</ul></td>", ($previousLevel - $arItem["DEPTH_LEVEL"]));?>
    <?endif?>
<?endif?>
<?if ($arItem["IS_PARENT"]):?>
    <?if ($arItem["DEPTH_LEVEL"] == 1):?>
        <td align="center" <?if ($arItem["SELECTED"]):?> class="active"<?endif?>>
        <a href="<?=$arItem["LINK"]?>" class="<?if ($arItem["SELECTED"]):?>root-item-selected<?else:?>root-item<?endif?>">
        <div><?=$arItem["TEXT"]?></div></a>
        <ul>
    <?else:?>
        <li>
<a href="<?=$arItem["LINK"]?>" class="parent"><?=strip_tags($arItem["TEXT"])?></a>
        <ul>
<div style="width: 286px; height: 11px; background: url('../images/menu_background_lev0.png') 0 0 no-repeat;"></div>
    <?endif?>
<?else:?>
<?if ($arItem["PERMISSION"] > "D"):?>
    <?if ($arItem["DEPTH_LEVEL"] == 1):?>
    <td align="center" <?if ($arItem["SELECTED"]):?> class="active"<?endif?>>
    <a href="<?=$arItem["LINK"]?>" class="<?if ($arItem["SELECTED"]):?>root-item-selected<?else:?>root-item<?endif?>">
    <div><?=$arItem["TEXT"]?></div></a></td>
    <?else:?>
    <li>
    <a href="<?=$arItem["LINK"]?>"><?=strip_tags($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></td>", ($previousLevel-1) );?>
<?endif?>
</tr>
</table>
<?endif?>
ответил 27 Апр, 14 от RainWalke (100 баллов)
00 голосов
А что в нем Вас не устраивает? :)
ответил 22 Авг, 14 от Serofim (800 баллов)
00 голосов
Ошибка в алгоритме. Не могу найти.

Кастомизировал, недокастомизировал....
ответил 27 Дек, 14 от RainWalke (100 баллов)
00 голосов
Какого рода ошибка? Уточните, пожалуйста!
ответил 16 Апр, 15 от Serofim (800 баллов)

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

0 голосов
1 ответ
0 голосов
1 ответ
0 голосов
3 ответов
спросил 10 Ноя, 13 от KAN155 (160 баллов)
0 голосов
3 ответов
спросил 16 Окт, 13 от Dayran (840 баллов)
0 голосов
3 ответов
спросил 14 Сен, 13 от NightEvil (120 баллов)