0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 38521 Просмотров
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Здравствуйте, очень важный вопрос.

Как сохранить активные сыылки в многоуровнем меню?

пример:

меню1
меню2            подменю2-1
                      подменю2-2
                      подменю2-3             подменю3-1
                                                      подменю3-2
                                                      подменю3-3
                                                      подменю3-4

(активные меню к примеру болдовые и не подчеркнутые)

Я думаю может как-то задать свой класс каждому из модулей, где размещаются пункты и подпункты. Чтоб active_menu работал только внутри своего модуля и не менялся от значения в других модулях.
Но возможно ли это, и как это сделать?
Или же есть какие-то другие решения данной проблемы?

« Последнее редактирование: 21.12.2006, 19:54:44 от Mitrich »
*

ButuzOFF

  • Захожу иногда
  • 144
  • 22 / 2
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
нет немного не то

при таком оформлении не работают active_menu
*

one_more

  • Захожу иногда
  • 139
  • 87 / 3
  • there is no spoon
Насколько я помню, эта проблема решена в Extenden menu. По крайней мере, можно задавать уникальный Itemid для каждого пункта.
Errare humanum est
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
к сожалению я не разобрался с этими Itemid, нечего толкового не вышло.
В могли бы вы объяснить по подробней, как они работают?
был бы очень вам признателен
*

one_more

  • Захожу иногда
  • 139
  • 87 / 3
  • there is no spoon
Сначала несколько пояснений:
1.   Я сам такого «раскрашивания» в меню не делал, просто исхожу из того, что написано в документации к модулю, которую читал и переводил.
2.   Собирать сейчас тестовый сайт, чтобы проверить, что и как работает, и на конкретном примере объяснять, у меня нет времени
3.   Поэтому просто привожу те выдержки из официальной документации к модулю, которые, на мой взгляд, должны помочь в решении

Раздел «Параметры вывода» --- [ output fields ] ---

•   Level Class – определяет используемые классы css для основного уровня меню и подменю (параметр не действует в случае использования шаблона меню)
     o   Default – используются те же классы, какие используются в модуле mainmenu.
     o   Mainlevel and Sublevel – дополнительные возможности настройки отображения с использованием стилей css.
•   Active Menu Class – используемый css класс для меню (параметр равнозначен такому же параметру, используемому в дефолтном модуле меню joomla)
     o   No – значение «по умолчанию». Не используются дополнительно созданные стили.
     o   to a-Element – для активного пункта меню (для тега <a>) используются классы "mainlevel_active" и "sublevel_active" и классы "mainlevel_current"/"sublevel_current" для текущего пункта меню.
     o   to li/td/div-Element – аналогично предыдущему пункту, но стилевые классы присваиваются не самим линкам, а элементам-контейнерам, содержащим линки (<li>, <td> или <div>).
     o   Both – используются оба вышеназванных варианта одновременно.
•   Element Id – каждый отдельный элемент (пункт) меню будет получать свой собственный стиль, основанный на иерархии элементов. Например класс "menuitem_2_5" будет присвоен пятому пункту подменю второго пункта меню. Это позволяет создать для каждого пункта меню свой собственный стиль.
(Примечание разработчика: поскольку эта настройка конфликтовала с active_menu id, последняя настройка из модуля удалена)

Разное

•   Resolve Itemid By Content Item – в некоторых случаях Вам требуется, чтобы к одному материалу вели несколько ссылок. Если установить этот параметр в "No", стилевое выделение «активной ссылки» используется только для текущей ссылки на материал (и функция getItemid больше не вызывается).
•   Current/Active Item Highlighting – этот параметр определяет, должен ли модуль меню для «подсветки» определенного пункта пытаться определить текущий пункт меню автоматически или ограничиваться указанным в Itemid.
•   Current Item Duplicates – дупликация пунктов меню, одновременно помеченных как текущие, может приводить к ошибкам в html-коде. Используя этот параметр Вы можете конвертировать их в «активные» (обычно id пункта меню, который является «родительским» по отношению к текущему, не имеет признака "active_menu")

Errare humanum est
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
благодарен вам за внимание
Все попробовал, но так нечего и не вышло
*

one_more

  • Захожу иногда
  • 139
  • 87 / 3
  • there is no spoon
Так. Поставил. Посмотрел. Всё работает так, как и было обещано разработчиком.

Выставляете в разделе настроек модуля [output] следующие параметры (другие варианты сочетаний просто не проверял):
1. Level Class в значение "Mainlevel and Sublevel"
2. Active Menu Class в значение "to a-Element"

и получаете
1. для текущего пункта меню  <a id="active_menu-суффикс_модуля"
2. для тех пунктов, в которые текущий "вложен" <a class="sublevel_active-суффикс_модуля"
3. для самого верхнего уровня "активного" меню <a class="mainlevel_active-суффикс_модуля"
4. Неактивные пункты меню имеют <a class="sublevel-суффикс_модуля" и  <a class="mainlevel-суффикс_модуля"

* суффикс_модуля может отсутствовать, если не назначен в самом модуле extended menu

Теперь остаётся только все нужные стили описать в css. В Вашем случае все *_active должны иметь стиль "жирный" "не подчёркнутый". Если остальные стили не описывать, они будут иметь вид, назначенный тэгу <a> "по умолчанию"
« Последнее редактирование: 19.11.2006, 19:45:57 от lamer »
Errare humanum est
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Большое вам спасибо, и ее бы хотелось узнать, возможно ли настроить субменю как в примере1? А то При настройке субменю получается как в примере 2, тоесть все ссылки что ниже при раскрывание субменю находятся под ним, а хотелось бы чтоб столбец не скакал.
Такое возможно при настройке модулей в каждой таблице шаблона, но тогда нельзя сделать путь активных ссылок, а в  настройка сублевелов  все наоборот.



[вложение удалено Администратором]
*

one_more

  • Захожу иногда
  • 139
  • 87 / 3
  • there is no spoon
ИМХО - через z-index. К модулю extended menu есть DHTML-шаблоны. Посмотреть в работе можно здесь. Шаблон "вертикального" меню suckerfish-vertical-1.0.1.zip - здесь - в нём придётся переписать css.
Errare humanum est
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
да, почти то что надо, только как сделать теперь меню не выпадающем, а чтоб субменю были видимыми только при нажатии на маинменю?

Менял в css     display: block; , но получилось только сделать, чтоб все суб меню были видны сразу.
Можно ли решить данный вопрос через css, или придется лезть в js?

Еще раз огромное вам спасибо, вы мне очень помогаете.
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Вот еще подумалось, ведь не получится мне сделать чтоб каждое субменю начиналось с верхней строки. Ведь каждому нижнему маинменю я не пропишу разное значение отступа субменю.
Вообщем снова не совсем верное решение вопроса, придется все делать в модулях.
Я вам очень благодарен за помощь.


[вложение удалено Администратором]
*

one_more

  • Захожу иногда
  • 139
  • 87 / 3
  • there is no spoon
Цитировать
ведь не получится мне сделать чтоб каждое субменю начиналось с верхней строки

Получится, поскольку
1.   Никто не мешает задавать отрицательные отступы (в т.ч. верикальные)
2.   Меню построено на «вложенных» один-в-другой ненумерованных списках (<ul><li><ul><li></li></ul></li></ul>). Значит, можно описать необходимые стили для этих списков в css, даже не влезая в код модуля.
3.   В качестве примера: если за основу взять именно шаблон suckerfish-vertical, тогда попробуйте задать отрицательный вертикальный отступ так:


ul.mainlevel-suckerfish-vertical ul {
   margin-top: -200px; /* вертикальный отступ «минус 200 пикселей» - стиль будет действовать для первого выпадающего подменю*/
}

ul.mainlevel-suckerfish-vertical ul ul {
   margin-top: -200px; /* вертикальный отступ «минус 200 пикселей» - стиль будет действовать для второго выпадающего подменю*/
}

Если выпадающих подменюшек больше – принцип, думаю, ясен – для каждого следующего добавлять ul и менять величину отступа на нужную.

ЗЫ. Единственное, можно ожидать проблем кроссбраузерной совместимости при отрицательных отступах (выглядеть это будет чуть по-разному), но и это решаемо.

ЗЗЫ. При «выпадающем» меню отрицательный отступ не имеет смысла, если «выпадающее» подменю имеет мало пунктов, поскольку если подменюшку сместить далеко вверх от пункта, из которого подменю «выпадает», будет просто невозможно перейти мышью на само подменю (при уходе с активирующего пункта оно «закроется»). Суть проблемы понятна из скриншота.

ЗЗЗЫ. Чтобы «выпавшее» меню больше не «скрывалось», нужно поменять логику обработки события onMouseOut в menu.js  Самый топорный способ, который едва ли может понравится – убрать в шаблоне в файле menu.js  строку 73

node.onmouseout =this.onmouseout;

Но большего я всё равно не предложу (тем более, что плохо представляю, что именно требуется).

Цитировать
как сделать теперь меню не выпадающем, а чтоб субменю были видимыми только при нажатии на маинменю

Чтобы это сделать, нужно в том же menu.js поменять onmouseover на onclick.
Но ничего хорошего из этого не выйдет, поскольку если Вы захотите кликом на <меню1> раскрыть субменю1, это субменю1 раскроется, но тут же загрузится страница, на которую ведёт ссылка с самого пункта меню1.


[вложение удалено Администратором]
« Последнее редактирование: 22.11.2006, 17:06:49 от lamer »
Errare humanum est
*

Shendrik

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
большое спасибо за подробный ответ, займусь этим завтра

как что выйдет отпишу

А если мне необходимо сделать 3 блока на сайте (в различных частях), из которых одно показывает разделы, другое- категории, третье материалы? Делаю структуру в mainmenu, выводу тремя Extenden menu, в одном только разделы, в другом - категории, в 3м - материалы. Проблема в том что категории и материалы выводятся все имеющиеся, а не текущего раздела.. можно это поправить?
*

one_more

  • Захожу иногда
  • 139
  • 87 / 3
  • there is no spoon
А если мне необходимо сделать 3 блока на сайте (в различных частях), из которых одно показывает разделы, другое- категории, третье материалы?

Если вопрос только в этом - посмотрите SectionNav
Errare humanum est

Спасибо, справился: CSS & Extenden menu - очень сильно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Основы создания материалов и меню простого сайта

Автор beliyadm

Ответов: 0
Просмотров: 56278
Последний ответ 02.08.2007, 18:23:14
от beliyadm
Как сделать чтобы многоуровневое меню по-умолчанию было развернуто?

Автор smart

Ответов: 0
Просмотров: 23730
Последний ответ 04.04.2007, 12:57:22
от smart
Как создать ссылку на статичный материал не добавляя его в меню?

Автор smart

Ответов: 0
Просмотров: 79337
Последний ответ 27.03.2007, 11:10:56
от smart
Для чего нужно поле Key Reference (Ключ ссылки) при редактировании материала?

Автор smart

Ответов: 0
Просмотров: 27808
Последний ответ 02.03.2007, 14:47:57
от smart
Горизонтальное меню в две строки

Автор Matt

Ответов: 1
Просмотров: 14125
Последний ответ 13.02.2007, 00:16:45
от OnTheFlyRU