Добрый день. Помогите пожалуйста вывести многоуровневую древовидную структуру разделов и элементов.
Код php:
Код |
---|
<?php
CModule::IncludeModule("iblock");
$IBLOCK_ID = 31;
$arFilter = Array(
'IBLOCK_ID'=>$IBLOCK_ID
);
$obSection = CIBlockSection::GetTreeList($arFilter);
while($arResult = $obSection->GetNext()){
for($i=0;$i<=($arResult['DEPTH_LEVEL']-2);$i++)
echo ".";
echo $arResult['NAME'].$arResult['ID'];
$arSelect = Array("ID", "NAME", "DETAIL_PAGE_URL");
$arFilter = Array("SECTION_ID" => $arResult['ID']);
$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();?>
<a href="<?= $arFields["DETAIL_PAGE_URL"]?>"><?= $arFields["NAME"]?></a>
<?}
}
?> |
Получить результат:
Код |
---|
<ul>
<li>Раздел1 ["DEPTH_LEVEL"] == 1
<ul>
<li>Элемент1.1</li>
<li>Элемент1.2</li>
<li>Раздел2 ["DEPTH_LEVEL"] == 2
<ul>
<li>Элемент2.1</li>
<li>Элемент2.2</li>
<li>Элемент2.3</li>
<li>Раздел3 ["DEPTH_LEVEL"] == 3
<ul>
<li>Элемент3.1</li>
<li>Элемент3.2</li>
<li>Элемент3.3</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Раздел2 ["DEPTH_LEVEL"] == 1
<ul>
<li>Элемент1.1</li>
<li>Элемент1.2</li>
<li>Раздел2 ["DEPTH_LEVEL"] == 2
<ul>
<li>Элемент2.1</li>
<li>Элемент2.2</li>
<li>Элемент2.3</li>
<li>Раздел3 ["DEPTH_LEVEL"] == 3
<ul>
<li>Элемент3.1</li>
<li>Элемент3.2</li>
<li>Элемент3.3</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
|