Горизонтальное выпадающее меню
  • Тип: модуль
  • Автор: Easy
  • Версия: 1.0
  • Описание:

    Горизонтальное выпадающее меню

    Инструкция в файле readme внутри архива

  • Скачать (2137)
Тэги: модули
Рейтинг: 1,75 Голосов: 91 Ваша оценка:
mihalich # 22 сентября 2008 в 18:13 0
Вот оно!То чего все так долго ждали!!! +5!!! :)
Александр # 26 октября 2008 в 07:48 0
Сам только начал изучать сайтостроение, поэтому спрашиваю:
Кто может более точно растолковать пункт №5 (в readme - инструкция)?
Тоесть, как мне сделать вот что:
"Подключите модуль в форме создания нового модуля строкой {ФАЙЛ=cms_hmenu.php}. выберите позицию hmenu."
Спасибо заранее за ответ.
Администратор # 27 октября 2008 в 13:01 0
Александр,



1. В админке перейдите в раздел "Модули" и создайте новый модуль
2. В свойствах его выберите позицию "hmenu"
3. В поле "Содержимое модуля" вставьте строку {ФАЙЛ=cms_hmenu.php}
4. Сохраните модуль
0 # 31 октября 2008 в 17:16 0
Выпадающего меню не получается!
о_0 # 13 ноября 2008 в 06:44 0
В каком именно месте нужно выбрать hmenu???? Там только left top right bottom
studio-f1 # 14 ноября 2008 в 01:53 0
Все работает,читаем redme!
у кого не получилось стучите 431 17 3131,помогу
Хотелось выразить болшой респект разпаботчикам,я ушел к вам от antislaed,
у вашей систему больше возможностей!
necromanc # 16 июня 2010 в 15:44 0
че не написал сразу то что все советы за бабло только. даже не здороваешься.
Администратор # 14 ноября 2008 в 17:45 0
мы польщены)  joke
0 # 17 ноября 2008 в 07:55 0
Меню хорошее...и рабочее!

РАЗРАБОТЧИКАМ ДВИЖКА ОТДЕЛЬНОЕ СПАСИБО! СУПЕР! УСПЕХОВ ВАМ!!!!!!!!
Виктор # 2 декабря 2008 в 11:05 0
Меню рабочее, все ок!
У меня вопрос, может и не сюда, но думаю по теме.
А как сделать чтобы из меню НОВОСТИ открывалось подменю состоящее из тех разделов, которые есть внутри этого раздела
0 # 23 января 2009 в 18:40 0
Спасибо за супер модуль!
Но есть небольшой вопрос... Если смотреть через Хром (который гугловский), то в момент загрузки меню виден процесс его наполнения - все пункты меню как бы сначала отрисовываются в виде раскрытого текстового списка. Поверх всех остальных модулей, компонентов и т.д. Потом все приходит в норму и видно меню, как на примере. Под всеми другими браузерами такого эффекта нет. Не то чтобы это критично, но не аккуратненько как то )))
0 # 10 февраля 2009 в 11:09 +1
Под IE очень сильно глючит.
nimbo # 11 апреля 2009 в 00:04 +1
1. IE сам один сплошной глюк - даж PNG с прозрачностью отображает криво!...

2. сколько денег выслать? CMS - айс!!!
0 # 1 июля 2009 в 12:46 0
Что надо сделать, чтобы на 1.5 корректно работал?
0 # 5 июля 2009 в 12:38 0
Присоединяюсь, как доработать для версии 1.5? меню появилось но при нажатии на пункты меню переход не происходит.
тоже самое было и с Dock-меню.
widik # 5 июля 2009 в 12:57 0
о да очень необходимо
0 # 11 октября 2009 в 02:39 0
Помогите с проблемкой: вертикально и горизонтальное меню какого-то ХЗ не работает в некоторых разделах, допустим захожу в универсальный каталог и в вертикальном и гор. меню пропадают ссылки на вложенные пункты меню! Что это может быть?
0 # 20 ноября 2009 в 23:45 0
Установил вертикальное - работает.
Установил горизонтальное - пишет
Fatal error: Cannot redeclare mod_hmenu() (previously declared in Z:\home\B.ru\www\includes\myphp\cms_hmenu.php:15) in Z:\home\B.ru\www\modules\mod_hmenu\module.php on line 62
0 # 20 ноября 2009 в 23:48 0
Убрал стандартный текущий модуль "горизонтальное меню" - все заработало. Они пользовались одим файлом module.php
0 # 20 ноября 2009 в 23:48 0
Убрал стандартный текущий модуль "горизонтальное меню" - все заработало. Они пользовались одим файлом module.php
Алекс # 19 апреля 2010 в 14:36 0
Андрей понять не могу, установил модуль, а в админке нет функции настройка модуля есть редактирование. Не могу закрепить за ним конкретные разделы
LonelyCat # 24 декабря 2009 в 19:50 0
в 1.5.2 работает. я его немного переделал, мне выпадающие меню не нужны были, получилось вот такsibvaleo-altai.ru
sepraga # 6 марта 2010 в 12:37 0
Спасибо за модуль. Очень хорошая и качественная работа  smile
0 # 30 марта 2010 в 00:31 0
Всё супер!! ТАК ДЕРЖАТЬ!!
Otus7 # 29 апреля 2010 в 09:25 0
Шляпа у меня с этим меню.. Если посмотреть в Мазиле (или в хроме) и в Експлорере - они расположены по разному. В Мазиле чуть ниже, в Експлорере - выше

Так в Мазиле


Так в Эксплорере
Otus7 # 29 апреля 2010 в 09:26 0
Памагите.. Не знаю что делать..
Otus7 # 29 апреля 2010 в 18:38 0
Всем спасибо - вопрос решён
necromanc # 16 июня 2010 в 13:16 0
тоже не понял где там hmenu выбрать в позициях? на 1 62
0 # 29 июля 2010 в 05:53 0
А как можно отредактировать и добавить свои пункты в это меню? подскажите, пожалуйста
LonelyCat # 29 июля 2010 в 08:58 0
настраивай меню в админке, и все!
0 # 29 июля 2010 в 18:16 0
Как я понял модуль поддерживает отображение главного меню, а как сделать так чтобы вывести на него дополнительное меню
0 # 30 июля 2010 в 22:32 +1
А все разобрался надо cms_hmenu.php вот эту строчку просто подправить $menu_name = ’mainmenu’; //какое меню выводить
Tenri # 5 ноября 2010 в 12:18 0
Спасибо за хорошее добавление к сайту )))
Не могу только понять как убрать иконки перед категориями в меню, я их не выбираю, но все равно появляются стрелочка в сером квадратике.
Спасибо.
AndroS # 23 декабря 2010 в 06:08 0
В 1.7 не работает :( Причем при включении модуля на сайте отображается строка, типа не найден файл "префикс бд_название файла"
0 # 23 декабря 2010 в 13:00 0
Ты скорее всего при установке инстанта ввел свой префикс таблиц. Посмотри в базе данных какой у тебя префикс и поменяй в файле модуля везде на свой
Remie # 15 февраля 2011 в 08:33 +1
Помогите пожалуйста! Очень нужно, чтобы текущий пункт меню был выделен!
nataly # 12 мая 2011 в 17:35 +1
Поставила меню. Но почему-то отображается оно только если зайти на сайт как администратор.
Keep # 12 мая 2011 в 18:00 0
Попробуйте в файле cms_hmenu.php в 41 строчке  $is_admin поменять false на true.
nataly # 12 мая 2011 в 18:18 +1
Спасибо!!!! Работает.
nataly # 3 октября 2011 в 14:35 0
Подскажите пожалуйста, а с версией 1.8 - работает?
Korvin # 20 октября 2011 в 19:46 0
На 1.8 работает.
_________________

Только скажите, как настроить меню, чтобы отображалось для гостей? (вначале только администратору показывалось, но после рекомендации keep 3 постами выше видят и пользователи)

Прикрепляю код cms_hmenu.php, чтобы не лезть и не искать:

Код PHP:
<?php
/*********************************************************************************************/
//																							 //
//                              InstantCMS v1.0.8 (c) 2008 FREEWARE                          //
//	 					  http://www.instantcms.ru/, info@instantcms.ru                      //
//                                                                                           //
// 						    written by Vladimir E. Obukhov, 2007-2008                        //
//                                                                                           //
/*********************************************************************************************/
/*Конфиг***************************************************************************************/
$menu_name = 'mainmenu'; //какое меню выводить
$max_items = 7; //Количетсво полностью отображаемых пунктов
/*End Конфиг************************************************************************************/

	function mod_hmenu($module_id,$menu_name,$max_items){
	global $_CFG;
		$menuid = cmsMenuId();
	
		if (isset($_SESSION['user']['id'])){
			$user_group = $_SESSION['user']['group_id'];
		} else {
			$user_group = cmsGuestGroup();
		}
		
		$sql = "SELECT NSLeft, NSRight, NSLevel FROM cms_menu WHERE id = $menuid";
		$result = mysql_query($sql) or die(mysql_error());
		$currentmenu = mysql_fetch_assoc($result);
		mysql_free_result($result);
		
		$root_id = dbGetField('cms_menu', 'parent_id=0', 'id');
		
		$nested_sets = cmsNestedSetsInit('cms_menu');
		$rs_rows = $nested_sets->SelectSubNodes($root_id);
		$last_level = -1;	
			
		ob_start();
		
		echo '<div id="hmenu" class="hmenu"><ul>';
		$m_count = 0;
		$splitit = 0;
		$is_admin = true;
		if(isset($_SESSION['user']['id'])) { if (cmsUserIsAdmin($_SESSION['user']['id'])) { $is_admin = true; } }
		while ($row = mysql_fetch_assoc($rs_rows)){
			if ($row['menu'] == $menu_name){
			$_2levellink='';	
				$menulink = cmsMenuSeoLink($row['link'], $row['linktype'], $row['id']);				
				
				if ($row['allow_group']==-1 || $row['allow_group']==$user_group || $is_admin){
					if($row['published']){
						// BUILD ITEM /////////////////////////////////////////////////////////////////////
						if (!$row['iconurl']) { 
							$fileicon = '/includes/jquery/treeview/images/file.gif'; 
							$foldericon = '/includes/jquery/treeview/images/folder-closed.gif'; 
						} else {						
							$fileicon = '/images/menuicons/'.$row['iconurl']; 
							$foldericon = '/images/menuicons/'.$row['iconurl'];
						}					
						//////
						if ( $row['NSLevel']==1) {$m_count++;}
						if ($row['id']!=$menuid){
							//link target
							if ($row['target']) { $target = $row['target']; } else { $target = '_self'; }
							$link = '<a target="'.$target.'" class="'.$css_menulink.'" href="'.$menulink.'" style="background: url('.$fileicon.')">'.$row['title'].'</a>';	
						} else {
							$link = '<div class="file" style="background: url('.$fileicon.')">'.$row['title'].'</div>';					
						}
		if ($m_count==$max_items && !$splitit ){$_2levellink='<a href="#" style="background: url('.$fileicon.')">More.....</a><ul><li>';$splitit = 1;}
						if ( $row['NSLevel'] < $last_level ) { echo str_repeat('</ul></li>', $last_level-$row['NSLevel']); }
						if ( $row['NSRight'] - $row['NSLeft'] == 1 ){ // если разница единица, то значит у него нет потомков
							echo '<li>'.$_2levellink.$link.'</li>';
						}
						else {
							echo '<li>'.$_2levellink.'<a href="'.$menulink.'" style="background: url('.$foldericon.')">'.$row['title'].'</a><ul>';						
						}					
						$last_level = $row['NSLevel'];
						////////////////////////////////////////////////////////////////////////////////////
					}
				}
			}
		}	
		echo ($splitit)?'</ul></ul></div>':'</ul></div>';
		
		?>
		<link href="/templates/<?php echo $_CFG['template']; ?>/css/hmenu.css" rel="stylesheet" type="text/css">
			<script type="text/javascript">
			$(document).ready(function(){
			    $('#hmenu ul li').hover(
			        function() {
			            $(this).find('ul:first').fadeIn();
						$(this).addClass("hilite");
			        },
			        function() {            
			            $(this).find('ul:first').fadeOut('fast');
						$(this).removeClass("hilite");						
			        }
			    );    
			    $('#hmenu li:has(ul)').find('a:first').append(' &raquo;');
				$('#hmenu ul li ul li').find('ul:first').addClass("fleft");
			});
			</script>

		<?php 
		
		return true;
	
	}
	mod_hmenu(0,$menu_name,$max_items);
?>