Архивы: Апрель 2013

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

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

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

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

global $APPLICATION;

if(CModule::IncludeModule("iblock")) {

    $IBLOCK_ID = 6; // указываем инфоблок с элементами

    $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); // меню сформировано
?>