Bitrix элементы инфоблока в меню

Добавить элементы инфоблока в меню как пункты не сложно.

<?

$arSelect = ["NAME", "DETAIL_PAGE_URL"];
$res = CIBlockElement::GetList(
 Array("SORT"=>"ASC"), // arOrder
 Array("IBLOCK_ID"=>IntVal(59)  , "ACTIVE" => "Y" ), // arFilter
 false, // arGroupBy
 false, // arNavStartParams
 $arSelect // arSelectFields 
);

while($ob = $res->GetNextElement(true, false)){ 
	 $arResult["ITEMS"][] = $ob->GetFields();  
	$aMenuLinks_child[] =  	Array(
		$ob->GetFields()['NAME'], 
		$ob->GetFields()['DETAIL_PAGE_URL'], 
		Array($ob->GetFields()['DETAIL_PAGE_URL']), 
		Array(
			"FROM_IBLOCK" => 1,
			"IS_PARENT" => 0,
			"DEPTH_LEVEL" => 2
		)
	);
}

// pr($aMenuLinks_child);
// pr($arResult["ITEMS"]);	

$aMenuLinks = Array(
	Array(
		"Пункт меню", 
		"/punkt_link/", 
		Array("/punkt_link/"), 
		Array(
			"FROM_IBLOCK" => 1,
			"IS_PARENT" => 1,
			"DEPTH_LEVEL" => 1
		)
	),
);

$aMenuLinks = array_merge($aMenuLinks, $aMenuLinks_child);

// pr($aMenuLinks);

где IS_PARENT, DEPTH_LEVEL задают вложенность.

Leave a comment

Your email address will not be published.


*