Задать вопрос
@jazzman7

Как построить вложенное дерево имея уровень?

Здравствуйте! Есть задача - вывести вложенные разделы и элементы внутри. Дерево построил, но проблема в том что разделы должны сворачиваться, но я без понятия, как для вложенных элементов сохранить id родителя что бы вставить его в появляющийся див, буду очень благодарен.
63aed3064cf02902959761.png

Мой быдлокод:
<?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>
  • Вопрос задан
  • 83 просмотра
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Зачем вам вообще какие-то ID?

https://codepen.io/delphinpro/pen/bGjpKWY?editors=0110
Ответ написан
@jazzman7 Автор вопроса
Код переписал на нормальный и задачу таки реализовал. Всех благодарю за помощь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽