Разворачивающееся меню

Главные вкладки

Аватар пользователя Elijah_ Elijah_ 25 сентября 2007 в 20:45

Господа, здравствуйте.

У меня возникли две проблемы с конструированием меню:

Я завел несколько категорий с одиночной иерарией, и в них термины до пяти уровней иерархической подчиненности. Соответственно, нужно сделать меню с пятью уровнями подчиненности. Передо мной поставили задачу сделать меню в левой колонке так, чтобы некоторые разные пункты меню ссылались на одни и те же термины. Т.е. элементы бокового меню частично дублируются. К тому же мне необходимо сделать так, чтобы каждый последий в иерархии пункт меню отображался не слева, а в центре. Соответственно, мне показалось логичным сделать одно главное меню слева, и для каждого последнего уровня главного меню сделать отдельное меню в центре, со ссылками на термины пятого уровня той или иной категории.

1 проблема: там, где разные пункты меню ссылаются на одни и те же термины, при щелчке мышью по одному пункту он сворачивается, а разворачивается другой пункт, который тоже ссылается на этот термин. Хотелось бы, чтобы такого не происходило.

2 проблема: когда в главном меню (которое в левой колонке) я дохожу до четвертого уровня, и в центре появляется меню пятого уровня, при щелчке мышью по какому-нибудь пункту центрального меню полностью сворачивается основное меню в левой колонке. В общем-то, это логично, т.к. для для Друпала центральное меню никак не зависит от бокового, и родительская страница для него - главная. Очень хотелось бы, чтобы левое меню не сворачивалось.

Первую проблему я типа обошел, заведя столько же категорий, сколько пунктов меню верхнего уровня, чтобы пункты меню не ссылались на одни и те же термины. А документы предполагается относить сразу к нескольким терминам разных категорий. Но это неправильно и неудобно. А вторую проблему вообще не знаю как решить. Однако в стандартной навигации Друпала при подобных переходах ничего не сворачивается, а ведет себя как надо. Может, кто поможет?

Извините за косноязычие. Спасибо.

Комментарии

Аватар пользователя Gedler Gedler 26 сентября 2007 в 6:15

Пять уровней - это конечно перебор, но дублирование пунктов меню ссылающихся на один и тот же материал по моему просто моветон.
Вам заказчик поставил такое условие или Вы сами себя в них загнали?
Попробуйте пересмотреть структуру сайта.
Для решение задачи в лоб, можно попробовать для последнего уровня объединить страницы в книгу и выводить при помощи модуля booktree - должно сработать.

Аватар пользователя Elijah_ Elijah_ 26 сентября 2007 в 17:03

В общем, такое положение вещей сложилось благодаря тому, что моему начальнику до сих пор не полностью известно, что должно быть на сайте. По его задумке, такая навигация должна способствовать облегчению понимания структуры сайта. Дело в том, что одна категория у нас полностью известна, а остальные - нет, и предполагалось, что на нее мы всё меню и завяжем, но выстроим ссылки так, чтобы они дублировались исходя из предполагаемой простоты для пользователя. Теперь, столкнувшись с подобной проблемой (а в общем, проблема возникла из-за того, что я по неопытности попытался заставить Друпал работать нелогично), мы пришли к выводу, что основную категорию нужно разбить на несколько мелких, и ссылки дать уже на термины этих категорий, и тогда дублирования в меню не будет. Т.е., как Вы и советовали, переделать структуру сайта.

По поводу модуля booktree - спасибо, попробую.

И еще у меня возник вопрос: может, существует модуль, реализующий меню на JavaScript в виде дерева с крестиками, разворачивающимися при щелкче мышью, как в Проводнике?

Большое спасибо

Аватар пользователя Gedler Gedler 26 сентября 2007 в 21:31

есть модуль nice menu в нем реализовано выпадающее меню любой глубины.
не совсем то что нужно, но как вариант...
плюс на днях подымалось в дневниках Выпадающее меню с любым уровнем вложенности

Аватар пользователя Elijah_ Elijah_ 4 октября 2007 в 4:02

Благодарю за помощь. В результате исканий и блужданий по форуму установил модуль Taxonomy context, который вывел всю таксономию с "хлебными крошками". Также установил модуль Nice menu. В итоге сочетание этих двух модулей дало тот эффект, которого нельзя было добиться стандартным меню. Над оформлением придется еще поработать, но направление уже выбрано.

Спасибо за помощь. Отличный форум.