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

навигация как у Яндекса

25.02.2013, 10:49
Гость
Гость

Здравствуйте!

пожалуйста, помогите вывести первые N-разделы в одном дизайне, а оставшиеся разделы в выпадающем списке. Пример как у Яндекса.

Заранее спасибо!
Константин
25.02.2013, 13:35
Константин
Константин

Зарегистрирован:
2010-07-20
Сообщений: 210

Самый простой способ внедрения бесконечной прокрутки, который я нашёл на данный момент.

orlovkn
25.02.2013, 15:36
Гость
Гость

Константин, спасибо за ответ. Но не то.
Нужно вывести названия разделов таком виде:
--------------------------------------------------
Карты | Маркет | Новости | Словари | Блоги | ещё*
--------------------------------------------------
*eще - выпадающий список, в котором лежат другие разделы
25.02.2013, 20:56
Константин
Константин

Зарегистрирован:
2010-07-20
Сообщений: 210

а, я на список поиска подумал)

Так это тоже несложно делается силами jQuery и стилей.

Логика такая: есть блок, в котором находятся все пункты, открывающиеся по нажатию на «ещё», блок со свойством display:none, на ссылку «ещё» вешаете событие toggle(). Стили для всплывающего пункта допишете.

Примерная структура:

Код:
<ul>
<li><a href='#'>Первый</a></li>
<li><a href='#'>Второй/a></li>
<li><a href='#'>Третий</a></li>
<li><a href='#' class='more'>ещё</a>
<ul class='more-block'>
<li><a href='#'>Первый</a></li>
<li><a href='#'>Второй</a></li>
<li><a href='#'>Третий</a></li>
</ul>
</li>
</ul>

в стилях: .more-block {display:none}
в js:
Код:
$(".more").click(function() {
$(".more-block").toggle();
});


Остаётся запилить это всё в НетКет.

orlovkn
25.02.2013, 23:28
Гость
Гость

прошу прощения, возможно плохо сформулировал задачу
меня интересует - как в неткет организовать запрос в шаблоне вывода навигации?
мысли были таковы
первые 3 раздела с дизайном первый / второй / третий
$browse_first[unactive] = "".opt(\$i<3, "<li>%NAME</li>")."";
оставшиеся разделы дизайном <li>ещё
$browse_second[unactive] = "".opt(\$i>2, "<li>%NAME</li>")."";

есть ли другие идеи?
26.02.2013, 02:17
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 576

Приведите статичный html-код, которым вы формируете это меню, а уж после этого с шаблонами можно прикинуть...

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
26.02.2013, 07:44
Гость
Гость

Думал на днях стандартную неткатовскую функцию допилить, ввести еще туда пару параметров, кол-во позиций выводимых по первому шаблону, ну и второй шаблон.
В любом случае нужно определенное кол-во позиций выводить по одному шаблону и остальные по другому
26.02.2013, 09:26
Гость
Гость

Asiat, количество разделов 0-го уровня, например, 20ть. Вывести разделы нужно как у Яндекса.
пример статичного кода:
<ul>
<li><a хреф='#'>Первый</a></li>
<li><a хреф='#'>Второй/a></li>
<li><a хреф='#'>Третий</a></li>
<li><a хреф='#' class='more'>ещё</a>
<ul class='more-block'>
<li><a хреф='#'>Четвертый</a></li>
<li><a хреф='#'>Пятый</a></li>
<li><a хреф='#'>Шестой</a></li>
<li><a хреф='#'>Седьмой....
.... Двадцатый </a></li>
</ul>
</li>
</ul>

<style>
ul li {
list-style:none;
display:inline;
}
.more-block{
display:none
}
</style>

<script>
$(".more").click(function() {

$(".more-block").toggle();

});
</script>
03.03.2013, 23:28
den

Зарегистрирован:
2005-10-28
Сообщений: 33

1. Делаете доп. поле-чекбокс в разделах, например "Убирать раздел в выпадающий список" (HideMenu), соответственно, все доп. разделы имеют в этом поле единицу.

2. Сортировка вывода шаблона:
Код:
$browse_sub['sortby'] = "HideMenu, Priority";


3. Делаете флаг смены состояния HideMenu и, соответственно, вывод нужного кода. Получится что-то типа этого:
Код:
$browse_sub['unactive'] = "
\".(!\$hide && \$data[\$i][HideMenu]==1 ? \"<ul class='more-block'>\".opt(\$hide=1,NULL) : NULL).\"
<li><a href='%URL'>%NAME</a></li>
";


Код, естественно, схематичный улыбка Но суть идеи должна быть понятна.

 
198 196 2013-03-03 23:28:01 12929
Описание проекта