Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля
15.06.2012, 06:02
Гость
Гость

только начал осваивать netcat, если не сложно, поделитесь опытом. На данном сайте горизонтальное выпадающее меню, как собрать такое же? или ссылочку дайте на материал для изучения. Никак вкурить не могу. Рукописно не раз реализовывал, а в неткэт никак не получается. Основная загвоздка в том, что в слишком замудренно написанном мануале сумел разобраться только во введении многоуровневых меню, где подразделы выводятся лишь при входе в разделы их содержащие. по этому принципу удалось почти реализовать, но согласитесь, неудобно заходить в раздел а потом только получать выпадающее меню... как обойти это возможно?
15.06.2012, 08:11
llkp
Ruslan Kimov

Зарегистрирован:
2010-08-23
Сообщений: 81

Добрый день.

Шаблон:
Код:
$menu[1]['prefix'] = "<ul>";
$menu[1]['suffix'] = "</ul>";
$menu[1]['active'] = "<li class='current'><a href='%URL'>%NAME</a></li>";
$menu[1]['unactive'] = "<li><a href='%URL'>%NAME</a></li>";

$menu[0]['prefix'] = "\";global \$browse_sub;\$result.=\"<ul>";
$menu[0]['suffix'] = "</ul>";
$menu[0]['active'] = "<li class='current'><a href='%URL'>%NAME</a>\".s_browse_level(1,\$menu[1]).\"</li>";
$menu[0]['unactive'] = "<li><a href='%URL'>%NAME</a>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$menu[1]).\"</li>";


Вывод:
Код:
<div class='nav'>
".s_browse_sub(0, $menu[0])."
</div>
17.06.2012, 19:19
Гость
Гость

Спасибо. Если не сложно, можно еще описание css, чтоб не думать. В смысле только ту часть, которая будет скрывать и отображать. Под рукой старых шаблонов нет. Вспоминать времени тоже. Заранее благодарю.
03.07.2012, 13:38
Евгений

Зарегистрирован:
2012-05-22
Сообщений: 31

Хммм... Лично у меня данный метод не работает. Как сделать вывод меню, аналогичный тому, что здесь?
09.07.2012, 10:28
Гость
Гость

ну да, мне тоже в принципе не помогло. я в итоге помнится в качестве переменной карту сайта использовал. вот.
09.07.2012, 10:40
Виталий

Зарегистрирован:
2012-07-09
Сообщений: 1

Конкретнее, я делал это так:
код:
Код:
<div id='menu'>".s_browse_sub(0,$browse_map)."</div>
<script>
jsHover = function() {
var hEls = document.getElementById(\"menu\").getElementsByTagName(\"li\");
for (var i=0, len=hEls.length; i<len; i++) {
hEls.onmouseover=function() { this.className+=\" jshover\"; }
hEls.onmouseout=function() { this.className=this.className.replace(\" jshover\", \"\"); }
}
}
if (window.attachEvent && navigator.userAgent.indexOf(\"Opera\")==-1) window.attachEvent(\"onload\", jsHover);
</script>


Описание:
Код:
$browse_map['prefix'] = "<ul>";
$browse_map['unactive'] = "<li><a href=%URL>%NAME</a>\".s_browse_sub(\$data[\$i]
[Subdivision_ID],\$browse_template).\"</li>";
$browse_map['active'] = "<li><a href=%URL>%NAME</a>\".s_browse_sub(\$data[\$i]
[Subdivision_ID],\$browse_template).\"</li>";
$browse_map['suffix'] = "</ul>";

КСС (очень грязный, но разобраться можно):
Код:
#menu {
padding-left: 5;
margin: 0;
margin-top: -10;
}
#menu li {
list-style: none;
float: left;
padding-left: 20;
margin: 0;
position: relative;
}
#menu li ul {
list-style: none;
padding: 0;
margin: 0;
display: none;
position: absolute;
border:solid 1px #1d80b4;
border-radius:7px;
-moz-border-radius:7px;
-webkit-border-radius:7px;
background:-moz-linear-gradient(bottom,#1f91c7, #1d80b4);
background:-webkit-gradient(linear,left bottom, left top, from(#1f91c7), to(#1d80b4));
-moz-box-shadow: 2px 5px 7px #161617;
box-shadow: 2px 5px 7px #161617;

}
#menu li ul li {
float: left;
margin: 0;
padding-top:5;
border-bottom: 1px;
background-color: #1d80b4;

position: relative;
}
#menu li a {
display: block;
color: #fff;
text-decoration: none;
}


#menu li:hover ul, #menu li.jshover ul {
display: block;
background:#1d80b4
}
#menu li:hover, #menu li.jshover {
}
29.07.2012, 20:27
Vladzzz

Зарегистрирован:
2012-01-26
Сообщений: 5

Всего-ничего, ошибка определения глобальной переменной. Но и так будет работать, лишь не будет использовать указанный шаблон (menu). Вот так корректно:
Цитата:

Шаблон:
Код:
$menu[1]['prefix'] = "<ul>";
$menu[1]['suffix'] = "</ul>";
$menu[1]['active'] = "<li class='current'><a href='%URL'>%NAME</a></li>";
$menu[1]['unactive'] = "<li><a href='%URL'>%NAME</a></li>";

$menu[0]['prefix'] = "";global $menu;$result.="<ul>";
$menu[0]['suffix'] = "</ul>";
$menu[0]['active'] = "<li class='current'><a href='%URL'>%NAME</a>".s_browse_level(1,$menu[1])."</li>";
$menu[0]['unactive'] = "<li><a href='%URL'>%NAME</a>".s_browse_sub($data[$i][Subdivision_ID],$menu[1])."</li>";


Вывод:
Код:
<div class='nav'>
".s_browse_sub(0, $menu[0])."
</div>
20.10.2014, 10:59
Solvedor
Solvedor Studio

Зарегистрирован:
2008-11-30
Сообщений: 3

Попробовал сделать так, как описано, но в результате меню исчезает напрочь, а вместо него просто надпись: .s_browse_sub(0, Array).

Что не так? Вот код меню:

Код:
$top_menu[1]['prefix']   = "<nav id='navigation'><a href='#' class='nav-btn'>HOME<span></span></a><ul>";
$top_menu[1]['suffix'] = "</ul><div class='cl'>&nbsp;</div></nav>";
$top_menu[1]['active'] = "<li><a class='active' href='%URL'>%NAME</a></li>";
$top_menu[1]['unactive'] = "<li><a href='%URL'>%NAME</a></li>";

$top_menu[0]['prefix'] = "";global $top_menu;$result.="<nav id='navigation'><a href='#' class='nav-btn'>HOME<span></span></a><ul>";
$top_menu[0]['suffix'] = "</ul><div class='cl'>&nbsp;</div></nav>";
$top_menu[0]['active'] = "<li><a class='active' href='%URL'>%NAME</a>".s_browse_level(1,$top_menu[1])."</li>";
$top_menu[0]['unactive'] = "<li><a href='%URL'>%NAME</a>".s_browse_sub($data[$i][Subdivision_ID],$top_menu[1])."</li>";


А вот вывод в шаблоне:
20.10.2014, 13:13
Solvedor
Solvedor Studio

Зарегистрирован:
2008-11-30
Сообщений: 3

В общем, решение для версии 5.х выглядит так:
Код:

$top_menu[0]['prefix'] = "\";global \$top_menu; \$result.=\"<nav id='navigation'><a href='#' class='nav-btn'>HOME<span></span></a><ul>";
$top_menu[0]['suffix'] = "</ul><div class='cl'>&nbsp;</div></nav>";
$top_menu[0]['active'] = "<li><a class='active' href='%URL'>%NAME</a>\".s_browse_level(1,\$top_menu[1]).\"</li>";
$top_menu[0]['unactive'] = "<li><a href='%URL'>%NAME</a>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$top_menu[1]).\"</li>";

$top_menu[1]['prefix'] = "<nav id='navigation'><a href='#' class='nav-btn'>HOME<span></span></a><ul>";
$top_menu[1]['suffix'] = "</ul><div class='cl'>&nbsp;</div></nav>";
$top_menu[1]['active'] = "<li><a class='active' href='%URL'>%NAME</a></li>";
$top_menu[1]['unactive'] = "<li><a href='%URL'>%NAME</a></li>";


А в шаблоне прописываем:
Код:
<?= s_browse_sub(0, $top_menu[0]) ?>


Только вот меню остается постоянно открытым, а не выпадающим. Как это вылечить?
20.10.2014, 15:31
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 970

Это решение для 4 версии.
Для 5 будет немного иначе
Код:
$top_menu['prefix']   = "<nav id='navigation'><a href='#' class='nav-btn'>HOME<span></span></a><ul>";
$top_menu['suffix'] = "</ul><div class='cl'>&nbsp;</div></nav>";
$top_menu['active'] = "<li><a class='active' href='%URL'>%NAME</a>%NEXT_LEVEL</li>";
$top_menu['unactive'] = "<li><a href='%URL'>%NAME</a>%NEXT_LEVEL</li>";

Код:
<?=nc_browse_sub(0,$top_menu)?>

$top_menu[0]['prefix'], $top_menu[1]['prefix']
Система будет перебирать ключи поочередно к каждому уровню. Это если требуется другой вид иначе достаточно одного как указанно выше без ключей
&nbsp; - без на то причин говорит о неверном подходе к верстке.


Без знания CSS нельзя верстать. JS Код в замену CSS. Стыд и позор.
Код:
#navigation ul li ul {display:none;}
#navigation ul li:hover ul { display:block;}


Такое ощущение что тут дети собрались

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Бесплатно.
198 196 2014-10-20 15:31:31 12374
Описание проекта