Здравствуйте! Есть задача - вывести вложенные разделы и элементы внутри. Дерево построил, но проблема в том что разделы должны сворачиваться, но я без понятия, как для вложенных элементов сохранить id родителя что бы вставить его в появляющийся див, буду очень благодарен.
Мой быдлокод:
<?php
CModule::IncludeModule("iblock");
$IBLOCK_ID = 29;
$arFilter = array(
'IBLOCK_ID' => $IBLOCK_ID,
'GLOBAL_ACTIVE' => 'Y');
$arSelect = array(
"ID", "NAME"
);
$obSection = CIBlockSection::GetTreeList($arFilter);
$arItem = array();
while ($arResult = $obSection->GetNext()) {
$arItem[] = array("ID" => $arResult['ID'], "NAME" => $arResult['NAME'], "LVL" => $arResult['DEPTH_LEVEL']);
}
?>
<ul>
<?
foreach ($arItem as $key => $element) {
for ($i = 0; $i <= ($element['LVL'] - 2); $i++)
echo '<ul>';
echo '<li>';
echo 'ID: '.$element['ID'] . ' | Название: '. $element['NAME'] . '<br>';
$arFilter = array("IBLOCK_ID" => IntVal($IBLOCK_ID), "ACTIVE_DATE" => "Y", "ACTIVE" => "Y", "SECTION_ID" => $element["ID"]);
$res = CIBlockElement::GetList(array(), $arFilter, false, array(), $arSelect);
while ($ob = $res->GetNextElement()) {
$arFields = $ob->GetFields();
?>
<?= $arFields["NAME"] ?>
<?
}
echo '</li>';
for ($i = 0; $i <= ($element['LVL'] - 2); $i++)
echo '</ul>';
}
?>
</ul>