Вывод меню
<?$APPLICATION->IncludeComponent( "bitrix:menu",
"tree_custom",
array(
"ROOT_MENU_TYPE" => "left",
"MAX_LEVEL" => "3",
"CHILD_MENU_TYPE" => "leftchild",
"USE_EXT" => "Y",
"MENU_CACHE_TYPE" => "A",
"MENU_CACHE_TIME" => "36000000",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => array(
),
"COMPONENT_TEMPLATE" => "tree_custom",
"DELAY" => "N",
"ALLOW_MULTI_SELECT" => "Y"
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);?>
Создаем в папке, где выводится инфоблок файл меню с расширением _exp.
Содержимое файла .left.menu_ext.php для вывода разделов инфоблока
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
global $APPLICATION;
$aMenuLinksExt = $APPLICATION->IncludeComponent(
"bitrix:menu.sections",
"",
array(
"IS_SEF" => "Y",
"SEF_BASE_URL" => "/catalog/",
"SECTION_PAGE_URL" => "#SECTION_CODE#/",
"DETAIL_PAGE_URL" => "#SECTION_CODE#/#ELEMENT_CODE#/",
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "2",
"DEPTH_LEVEL" => "3",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000"
),
false
);
$aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks);
?>
Содержимое файла .left.menu_ext.php для вывода элементов инфоблока
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
global $APPLICATION;
if(CModule::IncludeModule("iblock") ) {
$IBLOCK_ID = 7; // инфоблок с элементами
$arOrder = Array("SORT"=>"ASC");
$arSelect = Array("ID", "NAME", "IBLOCK_ID", "DETAIL_PAGE_URL");
$arFilter = Array("IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE"=>"Y");
$res = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);
while($ob = $res->GetNextElement()) // наполнение массива меню пунктами меню
{
$arFields = $ob->GetFields();
$aMenuLinksExt[] = Array(
$arFields['NAME'],
$arFields['DETAIL_PAGE_URL'],
Array(),
Array(),
""
);
}
}
$aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks); // меню сформировано
?>
Необходимо в параметрах настройки меню указать: