Блог специалистов
24.07.2014

Меню только из элементов инфоблока

Иногда требуется создать меню только из элементов инфоблока. В файл _ext добавляем следующий код, указав ID модуля:

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

global $APPLICATION;

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

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

$arOrder = Array("SORT"=>"ASC"); // сортируем по свойству SORT по возрастанию
$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 нужными данными
$aMenuLinksExt[] = Array(
$arFields['NAME'],
$arFields['DETAIL_PAGE_URL'],
Array(),
Array(),
""
);

} // while($ob = $res->GetNextElement())

} // if(CModule::IncludeModule("iblock"))

$aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks);
?>


Количество показов: 2139




Возврат к списку