Имеется комплексный элемент каталог, мне требуется вывести разделы 2 уровня, ТОЛЬКО разделы 2 уровня, в будущем например захочу вывести разделы 3 уровня, стандартный компонент выводит все разделы, в нем возможно менять только максимальную глубину а не с какой начинать вывод. Заранее благодарен
Вот сам код компонента:
Код |
---|
<?
$TOP_DEPTH = $arResult["SECTION"]["DEPTH_LEVEL"];
$CURRENT_DEPTH = $TOP_DEPTH;
//$TOP_DEPTH = 1;
foreach($arResult["SECTIONS"] as $arSection):
$this->AddEditAction($arSection['ID'], $arSection['EDIT_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_EDIT"));
$this->AddDeleteAction($arSection['ID'], $arSection['DELETE_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_DELETE"), array("CONFIRM" => GetMessage('CT_BCSL_ELEMENT_DELETE_CONFIRM')));
if($CURRENT_DEPTH < $arSection["DEPTH_LEVEL"])
echo "\n",str_repeat("\t", $arSection["DEPTH_LEVEL"]-$TOP_DEPTH),"<ul>";
elseif($CURRENT_DEPTH == $arSection["DEPTH_LEVEL"])
echo "</li>";
else
{
while($CURRENT_DEPTH > $arSection["DEPTH_LEVEL"])
{
echo "</li>";
echo "\n",str_repeat("\t", $CURRENT_DEPTH-$TOP_DEPTH),"</ul>","\n",str_repeat("\t", $CURRENT_DEPTH-$TOP_DEPTH-1);
$CURRENT_DEPTH--;
}
echo "\n",str_repeat("\t", $CURRENT_DEPTH-$TOP_DEPTH),"</li>";
}
echo "\n",str_repeat("\t", $arSection["DEPTH_LEVEL"]-$TOP_DEPTH);
?>
|