Forum Webscript.Ru
Программирование => Perl => Тема начата: GrAfF от 13 Февраля 2004, 14:58:34
-
Привет!
С XML вроде разобрался. Но мы снова не ищем легких путей. :)
Нужно как-то научиться создавать, использовать и редактировать такую штуку. Предположим, разделы сайта. Похоже на вложенные директории. Карта.
корень
_часть1
__раздел1
___раздел1.1
__раздел2
_часть2
__раздел1
Смысл в том, что каждому(ой) разделу (части) приписывается некий уникальный UID, который потом указывается в свойствах объектов, "содержащихся" в этих разделах. В соответствии с этой картой объекты обрабатываются.
Вопросы.
1. В чем хранить базу? SQL нельзя. Предположим, типа-XML.
_
__
___
____
___
__
__
___
__
2. Как сделать навигацию по дереву? Т.е. как, например, получить текстом то-то вроде:
-------------
1
_sfdfg
__jkyut
__fght
-------------
3. Как произвольно менять порядок следования одноранговых записей, чтобы они шли не по алфавиту и не в порядке нахождения в XML?
4. Как делать наследование параметров, чтобы неуказанный параметр брался от чуть более близкого к корню элемента? Например, style.
5. Как объединять разные объекты в группы?
Какая-то муть получилась. В общем, помогите советами, как организовать дерево произвольной степени вложенности.
Проблема в том, что одна часть сайта можеть быть очень простой, можно html просто в корень покидать. Вторая же нуждается во влженных папках, при этом некоторые html неплохо бы группировать по смыслу, а не расположению.
При этом одна часть не должна никак перекликаться с другой. То есть два дизайна, две карты и т.д. Но не писать же два движка. Нужно как-то в одну базу всё. И общая статистика, модерация.
Понимаю, что непростая штука. Формат хранения, IMHO, неплохой. Но как организовать именно работу с объектами, указывать наследственность, т.д. что-то придумать не могу.
В общем, рад любой помощи. Если это тупо - подскажите пару красивых идей. Желательно опять-таки без чужих или сложных модулей.
Отмазки: SQL низя. Да, делать нечего, пишу движок сайта. Для себя. Чтобы научиться. Сайт не коммерческий и делается для души.
add: Один из самых мощных вопросов - как это хранить в скрипте, забивать ли в массивы, хэши и т.д. и какии методами обрабатывать. Поэтому-то это в Perl я и повесил.
-
GrAfF:
2. Как сделать навигацию по дереву? Т.е. как, например, получить текстом то-то вроде:
-------------
1
_sfdfg
__jkyut
__fght
Что именно ты имеешь ввиду под навигацией? И что есть "sfdfg" и т.д.?
3. Как произвольно менять порядок следования одноранговых записей, чтобы они шли не по алфавиту и не в порядке нахождения в XML?
Смотря КАК ты будешь строить дерево. Самое простое, наверное, прилепить объекту свойство типа ранга (номера).
4. Как делать наследование параметров, чтобы неуказанный параметр брался от чуть более близкого к корню элемента? Например, style.
Это уже вопрос по работе алгоритма. Которого нет.
Конкретизируй вопросы - будут ответы.
-
Что именно ты имеешь ввиду под навигацией? И что есть "sfdfg" и т.д.?
1
_sfdfg
__jkyut
__fght
В index.html раздела, у которого UID sfdfg нужно бы выдать линки на fght и jkyut. То есть вложенные. А в карте сайта показать всё, что входит в 1, т.е. все три.
Вообще в голове каша, поэтому вопросы чуть расплывчатые. Алгоритм чуть зависит от реализации, реализация от алгоритма...
Конкретизируй вопросы - будут ответы.
Нет ничего конкретного. Нужно мощное дерево, которое может выполнить некоторые задачи. Чтобы раз написать скрипт, базу и front-end к нему. Поэтому и написал всё что придумалось, может быть это можно решить намного проще.
-
GrAfF:
Нет ничего конкретного
Вот. Это основная фраза всей темы. Если ты сам не знаешь что тебе нужно, как мы сможем тебе помочь?
Нужно мощное дерево
я так понимаю, в данном контексте, дерево - структура данных. тогда что значит мощное - с большой вложенностью и большим количеством ответвлений?
-
metton, в общем, нужны рубрики с настройками. Зачем?
1. Автоматическое создание директорий этих рубрик на сервере с обновлением навигации и карты сайта.
2. Генерация файлов внутри директорий с дизайном, который прописан в настройках рубрики.
Т.е. создание базы - дерева рубрик и работа с ней. Плюс есть база текстов, каждый из которых будет привязн к нужной рубрике с помощью некотого уникального номера рубрики.
Наверное, вся проблема в том, что нужна вложенность директорий. И настройки дизайна...
-
Самое простое дерево: каждой категории кроме своего идентификатора прилепляешь родительский.
-
metton, а можешь подкинуть ещё парочку советов? О релизации и алгоритмах. Немного "что" и чуть "как". Формат хранения - наверное XML вроде приведённого выше. А дальше?
Есть ещё мысль. Раскидать по диркам файлы настроек, а обрабатывать всё сканером дирок. По сравнению с базой, кажется чуть проще с точки зрения синхронизации базы.
В общем, завяз.
-
GrAfF
Вот почитай, мы тут обсуждали это вопрос: http://flasher.ru/forum/showthread.php?s=&threadid=40267&highlight=dead+brain
Там и линки кое-каие есть
-
metton, спасибки. Сходил, посмотрел, нашел что почитать.
Вот интересные линки, если кто то же потом будет искать:
http://myphp.net.ru/lessons/index.php?18
http://detail.phpclub.net/article/db_tree
http://www.webscript.ru/stories/03/10/22/6752491