Формирование меню из элементов инфоблока в 1С-Битрикс

Формирование меню из элементов инфоблока в 1С-Битрикс

Задача: сформировать левое меню на сайте работающем на битриксе из элементов информационного блока.

Решение: создаем файл .left.menu_ext.php в директории, в которой должно выводиться меню и наполняем следующим кодом

<?php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
 
global $APPLICATION;
 
if(CModule::IncludeModule("iblock")) {
	$IBLOCK_ID = 15; // указываем инфоблок с элементами
	$arOrder = Array("SORT"=>"DESC");
	$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
						  );
// меню сформировано
?>