dron4ik
Новичок
Дерево хм....
я знаю, что про деревья написано 3 милирда раз, но все пишут про хранение и т.д.
про вывод дерева пишут мало, потому что для всех это достаточно специфично и зависит от нескольких параметров (вложенность, количество детей).
я тут малюсенькую админку накатал, он нормально всегда справлялась с выводом деревьев (простейшая рекурсия).
Как устроена эта админка:
Все каталоги и подкаталоги выводяться всегда
при создании \ удалении \ переносе на другой уровень \ скрытие и т.д. дерево перегенеряется, записывается в 2 файла, первый для админки, другой для карты сервера. Всё работает достаточно шустро, даже на винде...
Час проект начал делать, там 1500 каталогов, 5-7 уровней вложенности, после создания нового раздела \ подраздела я успеваю кофе себе приготовить, это меня сильно печалит.
<strict>есть</strict> я вижу несколько вариантов решения:
1. сначала выводить только каталоги уровня "0", перед ними поставить красивые "плюсики" как в виндовом проводнике и замучать клиента, которому надо добраться до 7 уровня вложенности.
2. сделать тоже самое с ajax, чтобы клиент не сильно мучался. Но тогда другая проблема возникает, у клиента НИКОГДА не будет в адресной строке http://server.com/back/departs/?depart=111 (допустим, что раздел с таким ид имеет 7-уровень вложенности - для максимально быстрого перехода именно к этому каталогу, а не к какому-то другому.)
2.1. (извращённо-прикольный) к пункту "2" добавить кнопку "добавить в избранное" и какой-нить отдельной панелькой выводить "favorites".
Может есть полегче варианты?
я знаю, что про деревья написано 3 милирда раз, но все пишут про хранение и т.д.
про вывод дерева пишут мало, потому что для всех это достаточно специфично и зависит от нескольких параметров (вложенность, количество детей).
я тут малюсенькую админку накатал, он нормально всегда справлялась с выводом деревьев (простейшая рекурсия).
Как устроена эта админка:
Все каталоги и подкаталоги выводяться всегда
при создании \ удалении \ переносе на другой уровень \ скрытие и т.д. дерево перегенеряется, записывается в 2 файла, первый для админки, другой для карты сервера. Всё работает достаточно шустро, даже на винде...
Час проект начал делать, там 1500 каталогов, 5-7 уровней вложенности, после создания нового раздела \ подраздела я успеваю кофе себе приготовить, это меня сильно печалит.
<strict>есть</strict> я вижу несколько вариантов решения:
1. сначала выводить только каталоги уровня "0", перед ними поставить красивые "плюсики" как в виндовом проводнике и замучать клиента, которому надо добраться до 7 уровня вложенности.
2. сделать тоже самое с ajax, чтобы клиент не сильно мучался. Но тогда другая проблема возникает, у клиента НИКОГДА не будет в адресной строке http://server.com/back/departs/?depart=111 (допустим, что раздел с таким ид имеет 7-уровень вложенности - для максимально быстрого перехода именно к этому каталогу, а не к какому-то другому.)
2.1. (извращённо-прикольный) к пункту "2" добавить кнопку "добавить в избранное" и какой-нить отдельной панелькой выводить "favorites".
Может есть полегче варианты?
