Двухуровневое меню
Стоит ли открыть форум? Напишите об этом по адресу admin@astracms.ru написав в теме "открыть форум". Я не автор движка и поэтому не могу консультировать так, как это делал бы он, но возможно у нас получится совместно находить решения.
Автор | Текст сообщения | ||
---|---|---|---|
Василий |
26.09.2009 16:09
В настройках блока "Произвольные ссылки" есть галочки ур.2. Как их использовать, чтобы сделать двухуровневое меню?
|
||
admin |
26.09.2009 18:15
Все пункты меню отмеченные этими галочками попадают во второй уровень ближайшего сверху пункта, который неотмечен.
{section name=i loop=$links} {* Обход массива с пунктами первого уровня. *} <li><a href="{$links[i].link}">{$links[i].name}</a></li> {if $links[i].selected} {* Если пункт выбран. *} {if $links[i].sublinks} {* Если есть пункты второго уровня. *} <ul> {section name=j loop=$links[i].sublinks} {* Обход массива с пунктами второго уровня. *} <li><a href="{$links[i].sublinks[j].link}">{$links[i].sublinks[j].name}</a></li> {/section} <ul> {/if} {/if} {/section}Потом с помощью шаблона формируется само двухуровневое меню: Разумеется шаблон может быть любым. |
||
Destroysys |
28.10.2009 17:47
Отредактировано: 28.10.2009 18:23
вот у меня блок "Список ссылок на страницы" и соответсвенно во второй уровень попадаю все подпункты. а есть ли какой нибудь способ не выводить определенные подпункты меню, но чтобы в то же время они были активными? Очень нужно!
|
||
admin |
28.10.2009 20:07
Непонятно о чем речь. Лучше на конкретном примере. |
||
sherkhan |
13.11.2013 22:00
Уважаемый админ. А как в данной конструкции определить активную категорию и подкатегорию, если структура сделана модулем, категории - папками и подкатегории, тоже папками http://itmages.ru/image/view/1326659/8d390730 соответственно в каждой из папок - свои вложенные папки. (1 уровень). на их основе формируется меню. и для указания активного меню раздела и подраздела нужно условие. вот как его поймать?
|
||
admin |
14.11.2013 10:53
Если меню делается блоком pages, то все тоже самое.
|
||
sherkhan |
14.11.2013 12:23
<ul class="vertmenu"> {section name=i loop=$links} <li class="item"><span class="{if $links[i].sublinks}collapsed{/if} fake__link {if $links[i].selected}subitem__link_state_active expanded{/if}" >{$links[i].name}</span> {if $links[i].sublinks} <ul class="submenu"> {section name=j loop=$links[i].sublinks} <li class="subitem"><a href="{$links[i].sublinks[j].link}">{$links[i].sublinks[j].name}</a></li> {/section} </ul> {/if} </li> {/section} </ul>вот такой код. то есть при нажатии на ссылку первого уровня - мы не попадаем на страницу, а просто открываем подменю. При нажатии на ссылку в подменю мы переходим на страницу. Но для ссылки первого уровня не сработает {if $links.selected} |
||
admin |
14.11.2013 15:57
Прямо в момент нажатия без перезагрузки он и не может сработать. Активным должен быть верхний уровень, если уже открыта страница из подуровня.
|
||
sherkhan |
14.11.2013 17:53
|
||
admin |
15.11.2013 13:46
Отредактировано: 15.11.2013 13:46
должно работать
{if $links[i].selected} |
||
sherkhan |
16.11.2013 22:41
Отредактировано: 17.11.2013 14:28
Как, собственно и $links.sublinks[j].selected - тоже не дает нужного результата при обходе вложенного меню |
||
admin |
18.11.2013 14:14
сколько всего уровней вложенности? на каком увроне конечные страницы? и из каких уровней сделано меню?
|
||
sherkhan |
18.11.2013 19:44
Отредактировано: 18.11.2013 19:45
возможно, так будет понятнее. http://1.ifetisov.z8.ru/ - сам сайт |
||
admin |
19.11.2013 16:29
Получается что конечная страница на третьем уровне, а меню из первых двух.
Попробуйте такое условие {if in_array($links[i].urlname,$parent.fullpath)} ... |
||
sherkhan |
20.11.2013 20:37
|
||
Вы не можете добавить сообщение. Вам необходимо авторизироваться на сайте под своим логином либо зарегистрироваться.