Меню в Битрикс

DI
На сайте с 22.01.2010
Offline
135
1075

Добрый день. Подскажите пожалуйста что делаю не так. Сделал многоуровневое (3 уровня) меню


<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>

<?if (!empty($arResult)):?>
<div class="column-2_3 menu_main_wrap">
<nav class="menu_main_nav_area">
<ul id="menu_main" class="menu_main_nav">

<?
$previousLevel = 0;
foreach($arResult as $arItem):?>

<?if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):?>
<?=str_repeat("</a></ul></li>", ($previousLevel - $arItem["DEPTH_LEVEL"]));?>
<?endif?>
<li class="menu-item"><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a>
<?if ($arItem["IS_PARENT"]):?>

<?if ($arItem["DEPTH_LEVEL"] == 1):?>
<li class="menu-item menu-item-has-children"><a href="<?=$arItem["LINK"]?>"><span><?=$arItem["TEXT"]?></span></a>
<ul class="sub-menu">
<?else:?>
<li class="menu-item menu-item-has-children"><a href="<?=$arItem["LINK"]?>"><span><?=$arItem["TEXT"]?></span></a>
<?endif?>
<?endif?>

<?$previousLevel = $arItem["DEPTH_LEVEL"];?>

<?endforeach?>

<?if ($previousLevel > 1)://close last item tags?>
<?=str_repeat("</ul></li>", ($previousLevel-1) );?>
<?endif?>

</ul>
</div>
<?endif?>

форум режет код, фул скрин кода

но в результате выводится только 2 уровня, причем первый уровень 2 раза

Должно быть так:

а получается так

SEOmagic
На сайте с 21.11.2005
Offline
136
#1

А содержимое файла меню? И где он размещен, только в корне?

DI
На сайте с 22.01.2010
Offline
135
#2
SEOmagic:
А содержимое файла меню? И где он размещен, только в корне?


<?$APPLICATION->IncludeComponent(
"bitrix:menu",
"mainMenu",
array(
"ROOT_MENU_TYPE" => "top",
"MAX_LEVEL" => "3",
"CHILD_MENU_TYPE" => "left",
"USE_EXT" => "Y",
"MENU_CACHE_TYPE" => "A",
"MENU_CACHE_TIME" => "36000000",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => array(
),
"COMPONENT_TEMPLATE" => "mainMenu",
"DELAY" => "N",
"ALLOW_MULTI_SELECT" => "N",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO"
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);?>
S
На сайте с 30.09.2016
Offline
469
#3

Не знаю. что там не так с Битриксом, но вёрстка точно кривая.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий