Вывод основного подменю в отдельном месте макете предназначено для организации удобной навигации. Например имеется верхнее горизонтальное меню и для него необходимо справа выводить подменю, при этом не важно, на каком уровне вложенности мы находимся.
Пример реализации (комментарии даны по коду):
<?
$Structure = new Structure();
/* Получаем данные о текущем узле */
$structure_row = $Structure->GetStructureItem(CURRENT_STRUCTURE_ID);
$structure_parent_id = $structure_row['structure_parent_id'];
$param = array();
/* В качестве родительского узла указываем текущий */
$param['parent_id'] = CURRENT_STRUCTURE_ID;
/* В цикле передвигаем вверх, начиная от текущего элемента, до получения элемента, у которого родитель - корень */
while ($structure_parent_id != 0)
{
$structure_row = $Structure->GetStructureItem($structure_parent_id);
$structure_parent_id = $structure_row['structure_parent_id'];
$param['parent_id'] = $structure_row['structure_id'];
}
$Structure->ShowStructure(false,'Подменю', array('parent_id' => $param['parent_id']));
?>