|
smart
|
 |
« : 30.07.2008, 22:08:45 » |
|
Неоднократно пользователи JComments просили меня добавить функцию ответа на комментарий и возможность отображения списка комментариев в виде дерева. В принципе, на текущий момент почти все готово для реализации желаемого, но вот возник у меня вопрос.
Как вы считаете правильнее отображать комментарии в дереве? В смысле в каком порядке?
Если у нас список, то порядок в принципе не важен. Пользователь желая почитать обсуждение, начинает либо сверху, либо снизу и просто прокручивает список.
А вот если у нас дерево...
С одной стороны, логично отображение новых комментариев сверху, тем самым получается, что наше дерево как бы растет вверх. Самые старые комментарии оказываются внизу, новые добавляются сверху. С другой стороны, как мне кажется получается некая путаница на втором уровне.
Если же у нас дерево, то алгоритм чтения получается несколько иным. Если дерево у нас растет сверху, то пользователю, которому интересно с чего пошла дискуссия необходимо пробежаться сначала по веткам первого уровня с снизу вверх, затем, выбрав какую-то из веток, снова спуститься вниз дочерних элементов и снова читать вверх... Получается как-то несколько неудобно, как мне кажется.
Можно строить дерево растущее вниз - новые ветки будут появляться внизу (такая сортировка на habrahabr.ru). Но и тут есть некоторые недостатки - пользователь в конце статьи видит не свежие комментарии, а самые старые.
А посему, кто что думает?
p.s. буду благодарен, кстати, за ссылки на сайты с красивым оформлением древовидных комментариев...
|
|
|
|
« Последнее редактирование: 23.10.2008, 15:00:29 от smart »
|
Записан
|
|
|
|
| |
|
PaLyCH
|
 |
« Ответ #1 : 30.07.2008, 22:12:02 » |
|
При древоводной структуре не стоит забывать, что хочется чтобы все комментраии были на одной странице (не разбивались на страницы). Все так же на хабре. Вниз лучше. И правильнее лично так по мне
|
|
|
|
|
Записан
|
|
|
|
|
Greycat
|
 |
« Ответ #2 : 30.07.2008, 22:14:27 » |
|
Полагаю, дерево, растущее вниз, будет удобнее. На большинстве форумов новые сообщения располагаются внизу, поэтому пользователям такая система более привычна.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #3 : 30.07.2008, 22:24:12 » |
|
хочется чтобы все комментраии были на одной странице (не разбивались на страницы) а это само по себе реализуется, бо бить на страницы дерево это еще тот секс, я за такое точно браться не буду (да и другие авторы древовидных комментариев примерно так же думали судя по всему). Потому, как если на 1-й странице обрыв пойдет на 5-6 уровне комментариев, смещенном вправо допустим на 100 пикселей, глупо на 2-й странице начинать комменты сдвинутыми уже на 100 изначально, а с другой стороны - вроде как все правильно Не, разбивки на страницы при отображении деревом не будет 100%.
|
|
|
|
|
Записан
|
|
|
|
|
PaLyCH
|
 |
« Ответ #4 : 30.07.2008, 22:31:20 » |
|
100 пикселей много. как на счет 20-30 пикселей. тогда дерево сможет быть больше
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #5 : 30.07.2008, 22:32:11 » |
|
100 пикселей много. как на счет 20-30 пикселей. тогда дерево сможет быть больше
все правильно, каждый уровень на 20 пикселей, на 5-ти уровнях уже будет смещение на 100... в общем дерево резать на страницы не будем и точка 
|
|
|
|
|
Записан
|
|
|
|
|
Mitrich
|
 |
« Ответ #6 : 30.07.2008, 22:34:05 » |
|
А ты хочешь сразу раскрытое дерево целиком отображать? Если так то может сделать какую то хитрую подсветку типа наводишь на сообщение и подсвечивается все ветка от корня
|
|
|
|
|
Записан
|
|
|
|
|
VETERINAR
|
 |
« Ответ #7 : 30.07.2008, 22:34:21 » |
|
Новые в конце. Так привычнее и, мне кажется, логичнее. Терпеть не могу когда новые комментарии в начале. Начинаешь тупить.
Мне кажется, что вот в этих блогах интересно реализованы ветки. Всё понятно, вол всяком случае:
_http://www.free-lance.ru/blogs/viewgroup.php
(можно найти где много комментариев и посмотреть на большие ветки)
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #8 : 30.07.2008, 22:36:54 » |
|
Если так то может сделать какую то хитрую подсветку типа наводишь на сообщение и подсвечивается все ветка от корня Дим, я как только соберу рабочий билд, я тебе дам для экспериментов - потренируешься в работе с DOM на JavaScript  бо у меня на подобные красоты точно времени не будет, а технически и алгоритмически нечего особо сложного там нет...
|
|
|
|
|
Записан
|
|
|
|
|
Mitrich
|
 |
« Ответ #9 : 30.07.2008, 22:49:12 » |
|
Серж ты шо  Я ж JS как с бывшей женой. Общаться могу, но очень тяжко 
|
|
|
|
|
Записан
|
|
|
|
Ragivort
Завсегдатай
   
Репутация: +20/-2
Offline
Пол: 
Сообщений: 437
Есть мечта-стоит жить
|
 |
« Ответ #10 : 30.07.2008, 23:39:18 » |
|
Мне нравится новый сверху, ИМХО так удобнее. НО разность мнений говорит о том, что было бы идеалом сделать опцию изменения юзерам, сверху или снизу делать комменты у себя на сайте.)
|
|
|
|
|
Записан
|
|
|
|
|
VETERINAR
|
 |
« Ответ #11 : 31.07.2008, 00:01:58 » |
|
Ну вот когда заходишь на страницу, не читаешь же снизу вверх. Так и тут. Если новые сверху, то получается нужно листать вниз и читать снизу. Это, извините, по-китайски.
Новые сообщения должны быть внизу, чтобы можно было по-человечески прочитать сверху вниз ветку.
|
|
|
|
|
Записан
|
|
|
|
Ragivort
Завсегдатай
   
Репутация: +20/-2
Offline
Пол: 
Сообщений: 437
Есть мечта-стоит жить
|
 |
« Ответ #12 : 31.07.2008, 00:18:12 » |
|
А мне обычно в рот ногами на все комменты до этого, я читаю последние 5, и если они более менее интересны, значит внизу шла какая-то дискуссия и можно посмотреть, а то обычно читаешь все комменты, пролистываешь всю страницу, только ради последнего коммента, который тебе интересен.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #13 : 31.07.2008, 00:22:00 » |
|
значит внизу шла какая-то дискуссия и можно посмотреть это приемлемо к списку, а в дереве дискуссий может быть множество, каждая в своей ветке... и тут просто просмотром последних 5 сверху сделать вывод об интересности дискуссий сложно
|
|
|
|
|
Записан
|
|
|
|
|
VETERINAR
|
 |
« Ответ #14 : 31.07.2008, 00:23:43 » |
|
просто просмотром последних 5 сверху сделать вывод об интересности дискуссий сложно
Вот-вот! Чтобы понять и вникнуть нужно полюбому всю ветку прочитать, а то смысла нет читать её вобще.
|
|
|
|
|
Записан
|
|
|
|
Ragivort
Завсегдатай
   
Репутация: +20/-2
Offline
Пол: 
Сообщений: 437
Есть мечта-стоит жить
|
 |
« Ответ #15 : 31.07.2008, 00:41:03 » |
|
Часто пишут такой бред, что лучше не вникать
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #16 : 31.07.2008, 00:42:55 » |
|
начинаться в любом случае должно с самых первых комментов в любой ветке дерева, я думаю что пример с комментами в ЖЖ будет самым наглядным
|
|
|
|
|
Записан
|
|
|
|
Sulpher
Support Team
   
Репутация: +293/-9
Offline
Пол: 
Сообщений: 1677
Миграция сайтов на Joomla 2.5
|
 |
« Ответ #17 : 31.07.2008, 09:46:26 » |
|
Придерживаюсь аналогичных взглядов, высказанных другими участниками: дерево, растущее вниз. Новые комментарии добавляются внизу. Тогда удастся избежать геммороя с ответами на комментарии.
Кстати, ответы на комментарии можно скрывать (при нажатии на кпопочку с изображением плюсика раскрывать)
|
|
|
|
|
Записан
|
|
|
|
Vzx
Захожу иногда

Репутация: +1/-0
Offline
Пол: 
Сообщений: 16
|
 |
« Ответ #18 : 31.07.2008, 10:14:53 » |
|
Мне кажется, стоит в верхней части дерева дать ссылку на якорь, установленный в нижней части блока комментариев, и подписать её, скажем, как "перейти к последним сообщениям". А само дерево дискуссий строить по принципу "самые свежие комментарии внизу". Так ведь на большинстве форумов, потому и привычнее... А ссылка даст возможность быстрого перехода без необходимости утомительного скроллинга.
|
|
|
|
|
Записан
|
|
|
|
|
..С...е...р...ы...й..
|
 |
« Ответ #19 : 31.07.2008, 11:02:44 » |
|
Кстати, ответы на комментарии можно скрывать (при нажатии на кпопочку с изображением плюсика раскрывать)
Согласен или ещё более современно, в стиле аккордион, чтоб не захламлять видимую часть
|
|
|
|
|
Записан
|
|
|
|
|
..С...е...р...ы...й..
|
 |
« Ответ #20 : 31.07.2008, 11:15:34 » |
|
habrahabr.ru вполне нормально сделано, только более правильно будет выглядеть и интуитивно понятно, когда коменты будут в рамке находиться, а ответы на отдельные коменты будут расположены внутри родительской рамки
|
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Offline
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #21 : 31.07.2008, 11:18:01 » |
|
Я за новые в конце - привычнее и удобнее читать.
|
|
|
|
|
Записан
|
|
|
|
spiteful_troll
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Пол: 
Сообщений: 44
http://www.woweb.biz
|
 |
« Ответ #22 : 31.07.2008, 11:31:06 » |
|
ИМХО, лучше, чтобъ новъе бъли снизу, если деревом. Если юзверь захочет узнать суть вопроса - кликнет на самой верхней ветке и всего делов. Если списком - новъе сверху. Америку не откръл, но мнение свое въсказал 
|
|
|
|
« Последнее редактирование: 31.07.2008, 16:00:36 от spiteful_troll »
|
Записан
|
|
|
|
|
boston
|
 |
« Ответ #23 : 31.07.2008, 15:25:36 » |
|
При выводе веток дерева - новые лучше снизу, но в корнях дерева новые сверху.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #24 : 31.07.2008, 15:57:29 » |
|
При выводе веток дерева - новые лучше снизу, но в корнях дерева новые сверху.
ты же сам понимаешь, что одним SQL-запросом (под MySQL) этого не выдернуть, а 2 это уже расточительство...
|
|
|
|
|
Записан
|
|
|
|
spiteful_troll
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Пол: 
Сообщений: 44
http://www.woweb.biz
|
 |
« Ответ #25 : 31.07.2008, 15:59:48 » |
|
ты же сам понимаешь, что одним SQL-запросом (под MySQL) этого не выдернуть, а 2 это уже расточительство...
Не мудри - делай новъе снизу и все. Рекомендую. Или душа требует чего-то етакого?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #26 : 31.07.2008, 22:18:30 » |
|
Или душа требует чего-то етакого? да нет, просто в кои веки решил поинтересоваться мнением сообщества... думаю хватит уже единоличничать и делать как мне хочется... дай поинтересуюсь что людям-то нужно...
|
|
|
|
|
Записан
|
|
|
|
kokau
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 27
|
 |
« Ответ #27 : 31.07.2008, 22:23:53 » |
|
думаю хватит уже единоличничать и делать как мне хочется... дай поинтересуюсь что людям-то нужно...  ИМХО Сверху вниз так более удобно (новые внизу)
|
|
|
|
|
Записан
|
|
|
|
|
VETERINAR
|
 |
« Ответ #28 : 31.07.2008, 23:13:00 » |
|
Добавлю, что если будут новые внизу, то поймут все, а если вверху, то половина будет тупить.
|
|
|
|
|
Записан
|
|
|
|
OnTheFlyRU
Осваиваюсь на форуме
 
Репутация: +14/-0
Offline
Сообщений: 26
|
 |
« Ответ #29 : 04.08.2008, 03:10:30 » |
|
С интересом прочитал топик и могу сделать вывод следующий: каждый из высказавшихся коллег примерил проблему лично на себя, на свои привычки. Хочу указать на тот факт, что в нашем деле субъективизм противопоказан.
Компонент существует достаточно давно, чтобы к нему успели привыкнуть конечные пользователи наших сайтов. Исторически сложилось так, что для сортировки были доступны два варианта. Потому есть смысл не насиловать наших юзеров, не ломать их привычек.
Предлагаю: 1) оставить два варианта сортировки для комментариев первого уровня; 2) комментарии вложенные отображать также двумя способами: а) классическим ниспадающим вниз деревом (новые добавляются ниже - отлично подходит для случая, когда первый уровень строится по такому же принципу) б) для сайтов, где комментарии идут в обратном хронологическом порядке - строить дерево дискуссий также в прямом хронологическом порядке (как в варианте "а"), но при этом прятать ветви дискуссий, делая их раскрывающимися по клику на тексте вроде "просмотреть ветвь дискуссии" по аналогии с жж.
Итого получаем четыре варианта, которые могут быть достугнуты свободным комбинированием двух настроек для первого и вложенных уровней.
Интересной представляется проблема постраничного разбиения дерева коментариев. В пику поклонникам хабра могу высказать серьёзный аргумент в пользу такого способа: не редки случаи на том же вышеупомянутом ресурсе, когда на странице может быть несколько сотен комментариев. Такая страница относительно долго собирается на сервере и ещё дольше отдаётся пользователю. Учитывая тот факт, что не все юзеры сидят за компами (у некоторых - кпк) на выделенке (кто-то использует дорогой жпрс) - предпочтительно было бы продолжать разбивать комментарии на порции.
Не вижу смысла в дроблении дерева "по живому" - то есть тупо обрезать определённое количество комментариев, невзирая на вложенность. На мой взгляд, единстенно приемлемым способом будет дробление только верхних уровней, но с учётом вложенности.
Поясняю на примере: допустим, у нас есть 40 комментариев, каждый из которых имеет от 1 до 20 вложенных. Администратор установил предел отображения комментариев на одной странице - не более 50. Разбиваем комментарии первого уровня на страницы с таким условием, чтобы на каждой сумма каментов первого уровня и вложенных не превышала предел в 50 штук. Да, у нас скорее всего получится разное количество каментов на страницах, но зато сохранится логика дискуссий.
Не исключено, что я выдвинул далеко не лучшее решение проблемы - с интересом выслушал бы критику моего предложения.
|
|
|
|
|
Записан
|
|
|
|
|