К списку форумов К списку вопросов
Как создать "дерево" по типу проводника?
ВпертийХохол
02.06.2004 - 17:35
Не знаю на скоько понятно смогу сформулировать вопрос - но думаю так:
Есть база. В базе справочник товаров в виде дерева рубрик, типа:
 Продукты питания -
      Молочные продукты -
           Молоко ...
Нужно организовать доступ к "дереву" по типу проводника. Возможно ли такое - если да - то плз подскажите.
Cool
1 - 02.06.2004 - 19:43
Возможно, от чего нет? Вперемешку на JS и каком-нибудь серверном языке
ВпертийХохол
2 - 02.06.2004 - 20:35
1. Ну в принципе я понимаю - что с помощью различных языков программирования можно сделать чтобы и "он" и "она" были сверху.
Вопрос только на каком из языков остановиться?
Cool
3 - 02.06.2004 - 20:37
Лично я бы в качестве сервеного языка использовал PHP, так как знаю его хорошо.
Deflorator
4 - 02.06.2004 - 20:58
а в качестве JS я бы использовал ЯваСкрипт по той же причине, что и Кул - пхп :)
kubanoid
5 - 02.06.2004 - 21:20
этта всё понятно. А вот вопрос тэкскэть на понимание - строить ли рекурсию на стороне сервера или клиента? Какие выскажутся предпочтения?
Deflorator
6 - 02.06.2004 - 21:27
ну, "дерево" твое на сервере - следовательно, и обработка его там же...
Auximen
7 - 02.06.2004 - 21:29
Есть готовые компоненты, ищи. В т.ч. смотри RSDN в файлах или скриптах.
kubanoid
8 - 02.06.2004 - 22:03
тут ведь вот в чём вопрос- если строить дерево на сервере, то не получается быстрого ползанья по дереву по причине постоянной перезагрузки страниц при переходе с уровня на уровень(раскрыть-закрыть), если мы говорим о "по типу проводника".
ВпертийХохол
9 - 02.06.2004 - 23:23
Спасибо kubanoid, поддерживаешь разговор вместо меня - а то у меня нет возможности сейчас часто заходить на форум. Но все же - может кто писал подобное и сможет поделиться скриптиком. Адрес под НИКом. А за одно и советом - как для этого лучше сконфигурировать базу?
kubanoid
10 - 03.06.2004 - 00:33
нет нет, погодите, как это скриптиком поделиться? Давайте придём к консенсусу. такэ я писал и скриптик имеется, но тока для обычного двухуровнево-выпадающего меню. а вот как ЛУЧШЕ сделать и именно в виде стандартного проводника тоже для меня жлободневный вопрос. Если сделать на стороне сервера, то просто в реализации, но сложно в использовании, напр. перезагрузка страницы при выпадании, но ещё и отслеживание раскрытых-скрытых веток, что превращается в гемор и лишнюю нагрузку на БД. Если передавать массивы в JS и строить на стороне клиента, то возникает гемор с кучей вложенных слоей. Или не возникает? Какие мнения?
по поводу конфигурации БД - ID и parent_ID по которым вся рекурсия и строится, можно ещё LEVEL, но не обязательно
Auximen
11 - 03.06.2004 - 01:04
Ребята? Читать умеем? Или за вас надо идти и брать ссылку? Сказал же RSDN. http://rsdn.ru/article/files/scripts/HTMLTree.xml
Mips
12 - 03.06.2004 - 03:35
<style>
menu div {display:none;}
menu .up {display:block;}
span {background-color:silver; font-size:20px;}
</style>
<menu>
<div class="up"><span>+</span>Продукты питания
  <div>&nbsp;<span>+</span>Молочные продукты
    <div>&nbsp;&nbsp;<span>+</span>Молоко
      <div>&nbsp;&nbsp;&nbsp;Кубанская бурёнка</div>
      </div>
  </div>
</div>
<div class="up"><span>+</span> <a href="http://www.kuban.ru">kuban.ru</a>
  <div>&nbsp;<a http://www.kuban.ru/cgi-bin/forum/forum28.cgi">Форум28</a></div>
</div>
<div class="up">Mips</div>
</menu>
<script>
function f(){
  if (event.srcElement.tagName=="SPAN") {
    p=event.srcElement.parentNode;
    div=0;for(var i=0;i<p.children.length;i++){if (p.children(i).tagName=="DIV") {div=i;break;}}
    event.srcElement.innerHTML=p.children(div).style.display?"+":"&ndash;";
    p.children(div).style.display=p.children(div).style.display?"":"block";
  }
}
document.onclick=f;
</script>
 
ps: для ИЕ.
Уверенный
13 - 03.06.2004 - 10:32
http://gemal.dk/util/ - для всех.
ВпертийХохол
14 - 03.06.2004 - 11:00
Пока спасибо - попробую - выложу ссылку на сайт в рубрику "Зацените" !!!
kubanoid
15 - 03.06.2004 - 12:49
вот это я понимаю обстоятельный подход к решению вопроса!
Kokoc
16 - 03.06.2004 - 16:38
Можно еще для отображения использовать java-апплеты (например, anfy TreeMenu - www.anfyteam.com), а параметры для него рисовать php-скриптом.
Вообще, скриптов типа "Tree Menu" куча, в т.ч. на http://www.hotscripts.com/

К списку вопросов на форуме Веб-дизайн

>>