Используем вот такую функцию для формирования динамического меню второго уровня. Вставляем в Header.php куда нибудь повыше.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
function get_menu_arr($SECTION_ID){ global $APPLICATION; $aMenuLinksExt=array(); if(CModule::IncludeModule("iblock")) { $IBLOCK_ID = 1; // указываем инфоблок с элементами //$SECTION_ID = 8; // Каталог нат потолков $arOrder = Array("SORT"=>"DESC"); $arSelect = Array("ID", "NAME", "IBLOCK_ID", "DETAIL_PAGE_URL" ,"CODE"); $arFilter = Array("IBLOCK_ID"=>$IBLOCK_ID, 'SECTION_ID'=>$SECTION_ID, "ACTIVE"=>"Y"); $res = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect); while($ob = $res->GetNextElement()) // наполняем массив меню пунктами меню { $arFields = $ob->GetFields(); $aMenuLinksExt[] = Array( $arFields['NAME'], '/catalog/'.$arFields['CODE'].'/', Array(), Array(), "" ); } } //$aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks); // меню сформировано return $aMenuLinksExt; } |
Вставляем в меню в файлик .left.menu.php раздела следующее.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<? /* комментируем массив! что бы не мешался $aMenuLinks = Array( Array( "Натяжные потолки Французские", "#", Array(), Array(), "" ), Array( "Натяжные потолки Немецкие", "#", Array(), Array(), "" ), .... ); */ $aMenuLinks=get_menu_arr(5); // категория потолков с Id 5 ?> |
Теперь вместо ручного создания элементов меню, у нас будет выводится в качестве второго уровня категория (раздел) с id= 5 .
Если вас не устраивает путь к элементу инфоблока ‘/catalog/’.$arFields[‘CODE’].’/’, исправьте на DETAIL_PAGE_URL или иной, какой вам нужен.