Суть вопроса вот в чём. Сделал вывод меню, категорий каталога, таким образом:
В шаблоне сайта:
[CODE]<? $APPLICATION->IncludeComponent("bitrix:menu", "lmenu_prod", Array(
"ROOT_MENU_TYPE" => "mleft",
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "msleft",
"USE_EXT" => "Y"
)
);?>[/CODE]
В шаблоне самого меню (lmenu_prod):
[CODE]<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<? if (!empty($arResult)):?>
<? $parentsMap = array(); ?>
<div class="leftmenu">
<? $previousLevel = 0;
foreach($arResult as $arItem):
$tmp = split('SECTION_ID=',$arItem["LINK"]);
$thisID = $tmp[1];
if ($previousLevel < $arItem["DEPTH_LEVEL"]) {$parentsMap[$thisID]=$previousID;}
elseif ($previousLevel == $arItem["DEPTH_LEVEL"]) {
$parentsMap[$thisID]=$parentsMap[$previousID];}
else {
$diff = $previousLevel - $arItem["DEPTH_LEVEL"];
$i=0;
$prevParent = $parentsMap[$previousID];
while ($i<$diff) {
$prevParent = $parentsMap[$prevParent];
$i++;}
$parentsMap[$thisID] = $prevParent;
}?>
<? if ($arItem["IS_PARENT"]) $parentID = $thisID;?>
<? if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel):?>
<?=str_repeat("<br>", ($previousLevel - $arItem["DEPTH_LEVEL"]));?>
<? endif?>
<? if ($arItem["IS_PARENT"]):
if (!($arItem["SELECTED"])):?>
<? else:?>
<? endif?>
<img src="/upload/0999.gif" width="10" height="9" border="0">
<a class="leftmenu" href="<?=$arItem["LINK"];?>"><?=$arItem["TEXT"]?></a>
<? endif?>
<? if ($GLOBALS["SECTION_ID"]==$thisID):?>
<? $cPar = $thisID; $que = array();?>
<? while ($parentsMap[$cPar]) {
$cPar=$parentsMap[$cPar];
$que[]=$cPar;
}
$que = array_reverse($que);
foreach ($que as $elm) {?>
<script>OpenMenuNode(document.getElementById("FLD<?=$elm;?>"));</script>
<?}?>
<? endif?>
<? $previousLevel = $arItem["DEPTH_LEVEL"];?>
<? $previousID = $thisID;?>
<? endforeach?>
<? if ($previousLevel > 1):?>
<?=str_repeat("</ul></li>", ($previousLevel-1) );?>
</div>
<span style="padding-left:10;"><? endif?>
<? endif?></span>[/CODE]
Проблема заключается в том что если категория каталога в себе не содержит подкатегорий то она не выводится. Т.е. такой вариант:
1.Телвизоры
1.1.Телевизоры 14
1.2.Телевизоры 21
1.3.Телевизоры 26
2.DVD
3.Бытовая техника
3.1.Микроволновые печи
3.2.Соковыжималки
3.3.Пылесосы
То выводятся только 2 ссылки «Телевизоры» и «Бытовая техника» а DVD игнорируется.
Задача: Сделать вывод меню таким образом чтобы отображались категории не имеющие подкатегорий. Меню простое без раскрывающегося списка и т.д. просто список категорий.
При клике на категорию (имеющею подкатегории) на сайте выводятся подкатегории, а при клике на категорию (не имеющею подкатегории) на сайте выводятся товары!