Меню. Как узнать при выводе меню 2-го уровня, k
Posted: Sun Jun 07, 2009 8:54 pm
Задача банальна, но как решить не знаю.
При активном меню 2-го уровня должно показываться подменю, причем не как список, а как листбокс.
Есди меню неактивно, листбокс должен скрываться
ПРимер здесь
http://www.berkemann.com/
Щелкаем Bestseller->Wood
------------
Я попытался сделать так. Но меню 3-го уровня показывается всегда. Т.е. мне нужен какой-нибудь флажок, типа активен ли предок у текущего меню. Долго и упорно ковыряюсь в коде процедуры FillNode (MenuManager.module.php)
Скорее всего задача банальна, а я не знаю, как ее решить
{* CSS classes used in this template:
.currentpage - The active/current page
.bullet_sectionheader - To style section header
hr.separator - To style the ruler for the separator *}
{if $count > 0}
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{if $node->origdepth ==2}
-- выбор --
{else}
{repeat string="" times=$node->depth-$node->prevdepth}
{/if}
{elseif $node->depth prevdepth}
{if $node->origdepth ==2}
{else}
{repeat string="" times=$node->prevdepth-$node->depth}
{/if}
{elseif $node->index > 0}
{if $node->origdepth ==2}
{else}
{/if}
{/if}
{if $node->current == true}
{if $node->depth ==2}
id}>
{else}
{/if}
url}" class="currentpage"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext}
{elseif $node->parent == true && $node->depth == 1}
{if $node->depth ==2}
id}>
{else}
{/if}
url}" class="activeparent"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext}
{elseif $node->type == 'sectionheader'}
{$node->menutext}
{elseif $node->type == 'separator'}
{else}
{if $node->depth ==2}
id}>
{else}
{/if}
url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext}
{/if}
{/foreach}
{repeat string="" times=$node->depth-1}
{/if}
При активном меню 2-го уровня должно показываться подменю, причем не как список, а как листбокс.
Есди меню неактивно, листбокс должен скрываться
ПРимер здесь
http://www.berkemann.com/
Щелкаем Bestseller->Wood
------------
Я попытался сделать так. Но меню 3-го уровня показывается всегда. Т.е. мне нужен какой-нибудь флажок, типа активен ли предок у текущего меню. Долго и упорно ковыряюсь в коде процедуры FillNode (MenuManager.module.php)
Скорее всего задача банальна, а я не знаю, как ее решить
{* CSS classes used in this template:
.currentpage - The active/current page
.bullet_sectionheader - To style section header
hr.separator - To style the ruler for the separator *}
{if $count > 0}
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{if $node->origdepth ==2}
-- выбор --
{else}
{repeat string="" times=$node->depth-$node->prevdepth}
{/if}
{elseif $node->depth prevdepth}
{if $node->origdepth ==2}
{else}
{repeat string="" times=$node->prevdepth-$node->depth}
{/if}
{elseif $node->index > 0}
{if $node->origdepth ==2}
{else}
{/if}
{/if}
{if $node->current == true}
{if $node->depth ==2}
id}>
{else}
{/if}
url}" class="currentpage"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext}
{elseif $node->parent == true && $node->depth == 1}
{if $node->depth ==2}
id}>
{else}
{/if}
url}" class="activeparent"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext}
{elseif $node->type == 'sectionheader'}
{$node->menutext}
{elseif $node->type == 'separator'}
{else}
{if $node->depth ==2}
id}>
{else}
{/if}
url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext}
{/if}
{/foreach}
{repeat string="" times=$node->depth-1}
{/if}