<?
// Выбираем массив разделов инфоблока "Продукция", в виде ссылок на разделы
// выбираем элементы раздела "Категории" инфоблока "Дополнительная рубрикация"
// выводим название элемента и список названий групп, к которым он привязан
$SECTION_ID = 180;
$IBLOCK_ID = 34;
$items = GetIBlockElementList($IBLOCK_ID, $SECTION_ID);
while($arItem = $items->GetNext())
{
echo '<h2>'.$arItem["NAME"].'</h2>';
$res = CIBlockElement::GetElementGroups($arItem['ID']);
while ($section = $res->GetNext()) {
if ($section['ID'] == $SECTION_ID) {
continue;
}
/* Выставляем стили для ссылок (активная\не активная)
act_elem - для все элементов
sub_elem - для внутр. страниц (например "ассортимент")
*/
$act_elem = GetIBlockElement(IntVal($_GET['ID']));
$sub_elem = GetIBlockElement(IntVal($_GET['MENU_ID']));
if ( ($act_elem['IBLOCK_SECTION_ID']==$section['ID']) || ($sub_elem['IBLOCK_SECTION_ID']==$section['ID']) ) {
$style_id='bullet_open';
} else {
$style_id='bullet_inactive';
}
if ($section['ACTIVE']=='Y') {
echo '<a href="javascript:void(0);" class="'.$style_id.'" id="ul_'.$section["ID"].'" onClick="menu('.$section['ID'].'); bullet('.$section["ID"].');" style="cursor:pointer;">'.$section["NAME"].'</a>';
$sub_items = GetIBlockElementList(33, $section['ID'], Array("SORT"=>"ASC"), 10);
$check_var=$sub_items->arResult[0]['NAME'];
// Проверка на наличие подразделов
// Если есть хоть один подраздел - создать невидимый DIV с идентефикатором-номером родительской группы
if ($check_var != '') {
echo '<div style="display:none;" id="'.$section['ID'].'"><ul class="cat_submenu" style="padding:0; margin:0 20px 5px 30px;">';
while($arItem = $sub_items->GetNext()) {
$db_props = CIBlockElement::GetProperty(33, $arItem['ID'], "sort", "asc", Array("ID"=>"110"));
// Вывод подразделов
if ( ($arItem['ID']==$_GET['ID']) || ($arItem['ID']==$_GET['MENU_ID']) ) {
echo '<li><a href="'.$arItem['DETAIL_PAGE_URL'].'" class="arrow_active">';
if($ar_props = $db_props->Fetch()) echo $ar_props["VALUE"];
echo '</a></li>';
} else {
echo '<li><a href="'.$arItem['DETAIL_PAGE_URL'].'" class="arrow_inactive">';
if($ar_props = $db_props->Fetch()) echo $ar_props["VALUE"];
echo '</a></li>';
}
}
if ($check_var != '') echo '</ul></div>';
}
}
}
}
/* Если открыт подраздел - не закрывать меню
$ID - для элементов
$MENU_ID - для внутр. страниц (например "ассортимент") */
if ($_GET['ID']) $open_elem = GetIBlockElement(IntVal($_GET['ID']));
elseif ($_GET['MENU_ID']) {
$open_elem = GetIBlockElement(IntVal($_GET['MENU_ID']));
}
echo '<script type="text/javascript">menu('.$open_elem["IBLOCK_SECTION_ID"].');</script>';
?> |