стандартно битрикс не включает элементы, а иногда надо
компонент
spider:menu.sections.elements .left.menu_ext.php<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
global $APPLICATION;
$aMenuLinksExt=$APPLICATION->IncludeComponent(
"spider:menu.sections.elements",
"",
array(
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "1",
"DEPTH_LEVEL" => "5",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000"
),
false
);
$aMenuLinks = array_merge ($aMenuLinksExt, $aMenuLinks);
?> |
вызов меню
<?
$APPLICATION->IncludeComponent("bitrix:menu", "top", Array(
"COMPONENT_TEMPLATE" => "top",
"ROOT_MENU_TYPE" => "top", // Тип меню для первого уровня
"MENU_CACHE_TYPE" => "A", // Тип кеширования
"MENU_CACHE_TIME" => "3600", // Время кеширования (сек.)
"MENU_CACHE_USE_GROUPS" => "Y", // Учитывать права доступа
"MENU_CACHE_GET_VARS" => "", // Значимые переменные запроса
"MAX_LEVEL" => 4, // Уровень вложенности меню
"CHILD_MENU_TYPE" => "left", // Тип меню для остальных уровней
"USE_EXT" => "Y", // Подключать файлы с именами вида .тип_меню.menu_ext.php
"DELAY" => "N", // Откладывать выполнение шаблона меню
"ALLOW_MULTI_SELECT" => "N", // Разрешить несколько активных пунктов одновременно
"MENU_THEME" => "site"
),
false
);?> |
папка_шаблона_ сайта/components/bitrix/menu/top/template.php
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
if (!empty($arResult)):?>
<ul class="links temp">
<?foreach($arResult as $arItem):
if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):?>
<?=str_repeat("</ul></div></li>", ($previousLevel - $arItem["DEPTH_LEVEL"]));?>
<?endif;
if ($arItem["IS_PARENT"]):?>
<li class="link <?=($arItem["SELECTED"])?"selected":""?>">
<a href="<?=($arItem["DEPTH_LEVEL"]==2)?"#":$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a>
<?if($arItem["DEPTH_LEVEL"]==1):?>
<div class="listWrapper">
<ul class="list mainList">
<?elseif($arItem["DEPTH_LEVEL"]==2):?>
<div class="listWrapper sub">
<ul class="list">
<?endif;
else:?>
<?if($arItem["DEPTH_LEVEL"]==1):?>
<li class="link <?=($arItem["SELECTED"])?"selected":""?>">
<a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a>
</li>
<?elseif($arItem["DEPTH_LEVEL"]==2):?>
<li class="link <?=($arItem["SELECTED"])?"selected":""?>">
<a href="#"><?=$arItem["TEXT"]?></a>
</li>
<?else:?>
<li class="item">
<a href="<?=$arItem["LINK"]?>">
<span><?=$arItem["TEXT"]?></span>
</a>
</li>
<?endif;
endif;
$previousLevel = $arItem["DEPTH_LEVEL"];
endforeach;
if ($previousLevel > 1)://close last item tags?>
<?=str_repeat("</ul></div></li>", ($previousLevel-1) );?>
<?endif?>
</ul>
<?endif;?> |