Вывод подменю в отдельный блок макета

Модератор
#
Вывод подменю в отдельный блок макета
Задача по своей сути элементарная.

Необходимо вывести узлы структуры, по умолчанию они выводятся от родительского раздела 0 - корень. Необходимо вместо 0 подставлять Ваш текущий уровень структуры. Как его узнать? Очень просто - он всегда содержится в константе CURRENT_STRUCTURE_ID

Поэтому выводим структуру так:
<?
$Structure = new Structure();
$Structure->ShowStructure(2,'ВерхнееМеню', array('parent_id' => CURRENT_STRUCTURE_ID));
?>


Описание ShowStructure дано в API
#
Re: Вывод подменю в отдельный блок макета
Действительно просто, но при выборе элемента подменю, соответствующее меню исчезает, можно сделать что бы оно выводилось и при нахождении на элементе подменю ?
Модератор
#
Re: Вывод подменю в отдельный блок макета
chugunoff,
Вам нужно для какого то определенного родительского узла структуры или для любого, для которого выбран подпункт?
#
Re: Вывод подменю в отдельный блок макета
Необходимо было отображение подменю и в том случае если выбран идин из пунктов в этом меню. Решил вопрос следующим кодом:

<?
$Structure = new Structure();
$row_structure = $Structure->GetStructureItem(CURRENT_STRUCTURE_ID);
$structure_parent_id = $row_structure['structure_parent_id'];
$param['parent_id'] = CURRENT_STRUCTURE_ID;
while ($structure_parent_id!=0)
{
$row_structure = $Structure->GetStructureItem($structure_parent_id);
$structure_parent_id = $row_structure['structure_parent_id'];
}
$param['parent_id'] = $row_structure['structure_id'];
$Structure->ShowStructure(1,'MainMenu',$param);
?>
#
Re: Вывод подменю в отдельный блок макета
А можно тоже самое, но только вывода пунктов не из структуры, а из информационной системы?
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
#
Re: Вывод подменю в отдельный блок макета
Если при вызове метода $Structure->ShowStructure(1,'MainMenu',$param) передавать параметры $param['show_groups'] = true и
$param['show_items'] = true, то инфогруппы и инфоэлементы попадут в XML-код вместе с остальными узлами структуры. И отображать их можно наравне с "обычными" узлами.
#
Re: Вывод подменю в отдельный блок макета
Спасибо, разобрался
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
#
Re: Вывод подменю в отдельный блок макета
chugunoff писал(а):
<?
$Structure = new Structure();
$row_structure = $Structure->GetStructureItem(CURRENT_STRUCTURE_ID);
$structure_parent_id = $row_structure['structure_parent_id'];
$param['parent_id'] = CURRENT_STRUCTURE_ID;
while ($structure_parent_id!=0)
{
$row_structure = $Structure->GetStructureItem($structure_parent_id);
$structure_parent_id = $row_structure['structure_parent_id'];
}
$param['parent_id'] = $row_structure['structure_id'];
$Structure->ShowStructure(1,'MainMenu',$param);
?>


если имеется три уровня меню, то при этом коде выводится все меню второго и третьего уровня для выбранного пункта меню первого уровня. Не получается сделать так, чтоб выводилось только меню третьего уровня!?  
#
Re: Вывод подменю в отдельный блок макета
mister.tuk, приведите конкретный пример структуры с описанием того, какой узел текущий и какие подузлы других уровней при этом должны выводиться.
#
Re: Вывод подменю в отдельный блок макета
есть структура:
п.1
   п.1.1
       п.1.1.1
       п.1.1.2
   п.1.2
       п.1.2.1
       п.1.2.2
п.2
   п.2.1
       п.1.1.1
       п.1.1.2

что выдает (в отдельном блоке макета) код сейчас, если выберу п.1.1:

   п.1.1
       п.1.1.1
       п.1.1.2
   п.1.2
       п.1.2.1
       п.1.2.2

что хотелось бы (в отдельном блоке макета), если выберу п.1.1:

       п.1.1.1
       п.1.1.2

если выберу п.1.2:

       п.1.2.1
       п.1.2.2
Авторизация