За последние 24 часа нас посетили 17878 программистов и 1606 роботов. Сейчас ищут 1549 программистов ...

Порблема организации навигации.

Тема в разделе "Решения, алгоритмы", создана пользователем dark-demon, 17 дек 2007.

  1. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    Речь сегодня пойдёт о менюшках ^_^

    Самый распространённый способ - жёсткий-деревянный - это просто созать таблицу "каталог", где организуется "дерево сайта" и конкретные материалы указывают на узлы этого дерева. Но мне такой способ не нравиццо, ибо получается жёсткая структура. А материалы нередко находятся на пересечении различных "категорий".

    Вариант посложнее - жёсткий-многосвязный - то же самое, но в ещё одной таблице хранятся связи между каталогом и материалами. Получается, что один материал может принадлежать сразу нескольким узлам каталога. Но и этот способ меня не устраивает, ибо приходится постоянно следить за каталогом: разделять большие разделы на подразделы, объединять маленькие подразделы в один.

    Чуть удобнее - жёсткий-тэгированный - для материала задаётся набор тэгов с соответствующим пространством имён. Для генерации меню выбираются все теги нужного уровня из этого пространства имён. Не избавляет от указанных выше проблем.

    Автоматический, но совершенно невменяемый - облако тэгов - выбираются самые употребительные тэги и предлагается фильтрация по ним. Не решает проблему навигации ибо часть материалов может оказаться недоступной, а другая часть будет доступна аж из всех пунктов.

    Автоматический, но просто невменяемый - выборка тэгов - выбирается n<10 тэгов каждый из которых охватывает не более ~1/n материала. Описанная выше проблема не столь фатальна, хотя и не устранена полностью.

    Больше я ничего не придумал. Все описнные способы весьма далеки от идеала...

    Опишу идеал поподробнее..
    1. меню должно генериться автоматом на основе тэгов, формируя многоуровневое дерево
    2. количество пунктов должно быть примерно 3-7
    3. пункты должны делать весь матриал на примерно равные части
    4. должно быть как можно меньше материалов, которые попадают более чем в один пункт

    У кого-нибудь есть мысли на этот счёт?
     
  2. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    зачем?

    вообще - надо смотреть твою область

    это обязательно при создании материала.
    еще есть таблица связей "с этим материалом связаны такие материалы"

    и попробуй глянуть http://www.thebrain.com/#-47 для визуализации.
     
  3. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    > зачем?

    затем, чтобы посетителю было удобно пользоваться сайтом. для этого у него должна быть удобная навигация, с одной стороны не вываливающая список материалов на десять страниц, и с другой - не требующая пользователя выбирать один из двадцати пунктов меню.


    > вообще - надо смотреть твою область

    область произвольная. например - информационный сайт со статьями на различные темы. количество материалов, допустим, порядка тысячи.


    >> должно быть как можно меньше материалов, которые попадают более чем в один пункт
    > это обязательно при создании материала.

    хотелось бы назначать материалу тэги, которые бы максимально точно отражали его суть, а не положение в каталоге.


    > еще есть таблица связей "с этим материалом связаны такие материалы"

    а также очень лениво эту таблицу заполнять...


    > и попробуй глянуть http://www.thebrain.com/#-47 для визуализации.

    ужос. неудобно. неопрятно. некроссбраузерно.
     
  4. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    прием! сколько пальцев? брейн для тебя, а не юзера
     
  5. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    я тоже юзер
     
  6. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    dark-demon
    Как вариант - не заморачиваться с менюшкой, а вместо нее сделать карту сайта и поиск :D
     
  7. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    это и есть поиск :) не всегда юзер ищет что-то конкретное. иногда его просто интересует опеределённая тематика. для этого и существует меню - чтобы несколько конкретизировать интересы пользователя.