Такая загвоздка! Вывожу циклом меню с подменю. У каждого пункта есть `level` при выборе с первого пункта где level=1 все ок. Весь список с любым уровнем вложенности отображается нормально. Но когда нужно начать меню не с корневого уровня (например c level=3) ломает шаблон (не правильно закрываются теги ul, li и тд). Вот код PHP: <?php $level=0; foreach($this->categories as $n=>$category) : if($category->level==$level) echo '</li>'; else if($category->level>$level) echo '<ul>'; else { echo '</li>'; for($i=$level-$category->level;$i;$i--) { echo '</ul>'; echo '</li>'; } } echo '<li class="am_dox_category">'; $level=$category->level; ?> <label for="cat_<?php echo $category->id; ?>"> <?php echo $category->title; $countdocs = count($category->doc); if ( $countdocs !== 0 ) { echo '<span class="am_dox_countdocs">'.$countdocs.'</span>'; } ?> </label> <input id="cat_<?php echo $category->id; ?>" type="checkbox" /> <div class="panel"> <?php if ($category->doc): echo '<ul class="am_dox_docs">'; foreach ($category->doc as $doc) : ?> <a href="<?php echo JRoute::_( 'index.php?view=doc&id='.$doc->id.':'.$doc->alias ); ?>"> <div class="am_dox_doc_link"> <?php echo $doc->title; ?> </div> </a> <?php endforeach; echo '</ul>'; endif; ?> <?php endforeach; ?> <?php for($i=$level;$i;$i--) { echo '</div></li></ul>'; } ?> Не ругайте за форматирование(кашу), пока в процессе)
Так и есть. Но левел жестко прописан в таблице! Таблица вида Nested Sets. Тема закрыта. Прописал пару условий и все встало на свои места!!!