|
smart
|
 |
« : 18.08.2008, 11:05:44 » |
|
В процессе тестирования древовидного шаблона комментариев столкнулся с проблемой которую предполагал, но до этого момента всерьез не рассматривал - уровень вложенности.
Когда комментарии отображаются плоским списком, вопрос сохранения шаблона сайта от искажений решается во-первых правильной настройкой стилей комментариев, а во-вторых функцией принудительной вставки пробелов в очень длинные слова (чтобы срабатывали переносы текста).
Но при древовидном отображении комментариев возникает проблема. Каждый следующий уровень традиционно смещен вправо на определенный интервал, таким образом ширина самого блока комментария уменьшается с увеличением уровня вложенности. И это продолжается до тех пор, пока блок комментария может сжиматься по ширине. Как только это становится невозможным - колонка комментариев начинает раздвигаться и шаблон сайта рвется.
А посему вопрос: что делать?
Первое, что приходит сразу на ум - это в административной панели добавить настройку, ограничивающую длину дискуссии (глубину вложенности). Таким образом, на каком-то уровне просто перестанут отображаться кнопки Ответить и пользователь не сможет добавить сообщение. Но с точки зрения пользователей, это как бы не очень правильно - у них дискуссия, спор идет во всю, и бах - отвечать дальше нельзя, дым в трубу, пельмени разлепить...
В принципе, можно пойти другим путем - попробовать сделать так, чтобы отступ справа уменьшался по мере роста уровня вложенности, постепенно сходя на 0. По идее, данный подход так же вполне применим, но потребует в шаблоне комментариев задать стили по умолчанию для первых 5-15 уровней, а остальное оставить на совести автора сайта...
Какие еще есть идеи, варианты? Кто что подскажет?
|
|
|
|
« Последнее редактирование: 23.10.2008, 15:00:56 от smart »
|
Записан
|
|
|
|
| |
|
VETERINAR
|
 |
« Ответ #31 : 18.08.2008, 18:32:09 » |
|
1. задать параметр для 1 ветки - отображать скажем 10 или 15 ответов (мы контролируем вложенность и смотрим, чтобы дизайн не растягивало) 2. когда достигнут максимум ветки у нас появляется ссылка - "Прочитать все ответы"
3. кликая на нее у нас на аяксе открывается почти на все окно (а-ля лайт бокс) окно, которое имеет в себе: а) пост на которые идут комменты. б) с небольшим выделением и может отступом все ответы на него друг под другом, без дерева.
Бууууу, окна всплывающие, кнопки дополнительные. Нельзя так, просто надо... Чем меньше окон и кнопок, тем лучше, имхо. Т.е. лишнего быть не должно, а это именно лишнее. Зачем, если можно на одной странице отобразить? Мы убьем и кнопку и окно.
|
|
|
|
|
Записан
|
|
|
|
gorbi
Осваиваюсь на форуме
 
Репутация: +2/-1
Offline
Пол: 
Сообщений: 192
|
 |
« Ответ #32 : 18.08.2008, 18:38:25 » |
|
Сорри за 5 копеек. Какое основное назначение компонента комментариев? Правильно - комментировать основной материал. Поэтому более логично вначале раздерибанить линейную структуру - максимальная совместимость с популярными компонентами, набор средств для индивидуализации комментатора (аватары, подписка, баны и пр.), удобный редактор для самого коммента. Древовидные комментарии - сорри, но это уже ближе к блогам....форумам и т.д. Потребность в такой штуке будет максимум у 5%. С учётом бесплатности компонента этот путь может оказаться тупиковым и не иметь конца... Если я не прав, пусть кто-то приведёт работающие примеры именно основной материал + древовидный комментарий (но не блоги!!!). Просьба камни не бросать и на личности не переходить...
|
|
|
|
|
Записан
|
|
|
|
|
VETERINAR
|
 |
« Ответ #33 : 18.08.2008, 18:49:42 » |
|
Ну вот, данный компонент является примером. А почему бы и нет? А Вы можете назвать четкую границу между комментариями и блогами? И там и там есть основной материал. И там и там на него отвечают. И там и там подписка. И там и там цитирование. И там и там аватары, подписка и многое другое. Разница?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #34 : 18.08.2008, 19:41:47 » |
|
Если я не прав, пусть кто-то приведёт работающие примеры именно основной материал + древовидный комментарий (но не блоги!!!). а вы можете сформулировать принципиальную разницу между материалами с комментариями и блогом? я честно говоря не совсем понимаю, каким образом внешний вид отображения дискуссии может повлиять кардинально на принадлежность сайта к блогам...
|
|
|
|
|
Записан
|
|
|
|
abbyevg
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Пол: 
Сообщений: 86
эвилпанда
|
 |
« Ответ #35 : 19.08.2008, 02:00:04 » |
|
Действительно, тратить слишком много времени и открывать америку в выравнивании ветки сообщений не стоит. Как написал VETERINAR , достаточно сдвигать некое число сообщений (которое настраивается в админке). Если на сайте постоянно идет бурное обсуждение статей - самое время ставить форум и выносить обсуждение туда - он для этого больше подходит. А от комментариев обычно пользователь не ждет чего-то особенного. Главное - это рабочие, с более-менее привычным юзабилити, комменты. (какие еще к черту зигзаги???  )))
|
|
|
|
|
Записан
|
|
|
|
|
VETERINAR
|
 |
« Ответ #36 : 19.08.2008, 02:29:47 » |
|
Нуууу, Вы недооцениваете возможность общения в комментариях. Я видел и 1000 и 5000 комментариев. Это сайты, на которых образовалось сообщество.
Не самый лучший пример, но возьмем тот же удавком )
|
|
|
|
|
Записан
|
|
|
|
gorbi
Осваиваюсь на форуме
 
Репутация: +2/-1
Offline
Пол: 
Сообщений: 192
|
 |
« Ответ #37 : 19.08.2008, 05:20:10 » |
|
а вы можете сформулировать принципиальную разницу между материалами с комментариями и блогом? я честно говоря не совсем понимаю, каким образом внешний вид отображения дискуссии может повлиять кардинально на принадлежность сайта к блогам...
Я могу сформулировать разницу между блогами и комментариями. Это кстати не сложно. В случае с блогами должны быть чёткие механизмы формирования сообщества, грубо говоря кого Вы хотите видеть в комментариях, кого нет, возможно рейтинги(типа кармы и т.д.). Ну и самое главное, компонент блогов - это обычно более самостоятельный компонент, который не интегрируют с остальными компонентами... И последнее - если бы древовидные комментарии были бы столь массовыми, то и дизайн был бы устоявшимся и не требовал обсуждения... На самом деле это не простая дискуссия. Компонент блогов и эти самые древовидные компонент - это другой уровень сложности и соответственно временных затрат на создание, в том числе и тестирование. Кстати говоря, разница во времени между выходами новых релизов это подтверждает...
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #38 : 19.08.2008, 05:36:55 » |
|
В случае с блогами должны быть чёткие механизмы формирования сообщества, грубо говоря кого Вы хотите видеть в комментариях, кого нет, возможно рейтинги(типа кармы и т.д.). Ну и самое главное, компонент блогов - это обычно более самостоятельный компонент, который не интегрируют с остальными компонентами... заметьте, в вашем определении нет упоминания режима отображения комментариев, а значит он никакого отношения не имеет, дерево это или список - важно что можно комментировать... все остальное, это уже второстепенно... Так что говорить, что если комментарии списком это сайт, а если деревом то блог - некорректно... Кстати говоря, разница во времени между выходами новых релизов это подтверждает... а вот тут вы не правы, разница во времени никак не связана в данном случае с трудоемкостью, а только с наличием у меня свободного времени... к слову сказать, функция ответа на комментарии и древовидный шаблон появился всего лишь 2 августа, чуть больше 2-х недель назад... А вот между 11 февраля и 20 мая действительно, ни одного билда не было выпущено - у меня было много работы, плюс различные сторонние проекты. p.s. Вести с полей: только что закончил свою реализацию Ajax, на основе библиотеки XAJAX. Отказался от использования XML в качестве транспортного формата - устал от постоянных ошибок невалидного XML при наличии Notice или Wraning'ов в коде (не моем, в ядре или любом внешнем расширении). В результате добился уменьшения JavaScript-кода с 16 кб до 4-х, и на 35 кб уменьшится php-код, что безусловно положительно отразится на ресурсоемкости. Кроме того, использование собственной реализации сведет на нет возможные конфликты со сторонними расширениями, использующими XAJAX (к примеру JoomlaTags, JMovies, JReviews и др.)
|
|
|
|
« Последнее редактирование: 19.08.2008, 05:41:28 от smart »
|
Записан
|
|
|
|
..С...е...р...ы...й..
Осваиваюсь на форуме
 
Репутация: +110/-2
Offline
Сообщений: 160
|
 |
« Ответ #39 : 19.08.2008, 11:30:23 » |
|
1. задать параметр для 1 ветки - отображать скажем 10 или 15 ответов (мы контролируем вложенность и смотрим, чтобы дизайн не растягивало)
2. когда достигнут максимум ветки у нас появляется ссылка - "Прочитать все ответы"
3. кликая на нее у нас на аяксе открывается почти на все окно (а-ля лайт бокс) окно, которое имеет в себе:
а) пост на которые идут комменты. б) с небольшим выделением и может отступом все ответы на него друг под другом, без дерева.
Мысль тоже нормальная, если внести несколько поправок: 1. вариант-1: под статьёй сразу же ссылка "читать коментарии"; вариант-2: отобрадаются комментарии пока не достгнут максимум вложенности или определённое число, типа демо части. 2. во всплывающем слое отобразить полное дерево комментов без всякмх там разбиений, с обычными полосами прокрутки. В этом случае дерево будет выглядеть во всей своей "натуральности" НО статью отображать не нужно, так как она итак доступна и по идее уже должна быть прочитана.
|
|
|
|
|
Записан
|
|
|
|
..С...е...р...ы...й..
Осваиваюсь на форуме
 
Репутация: +110/-2
Offline
Сообщений: 160
|
 |
« Ответ #40 : 19.08.2008, 11:41:56 » |
|
чем этот вид хорош, тем что, кому нафиг не интересно читать чюжие комменты, а быстро прочитать статью, ему не прийдётся ждать пока загрузится вся страница с 1Mb-комментариев (мухи и котлеты по отдельности)
|
|
|
|
|
Записан
|
|
|
|
|
VETERINAR
|
 |
« Ответ #41 : 19.08.2008, 11:46:24 » |
|
Всплывающие окна - полохо. Нельзя усложнять. Если предыдущие варианты не подходят, нужно думать как ещё красивее сделать.
Но меньше кнопок и меньше окон, не создавайте сложностей на ровном месте.
|
|
|
|
|
Записан
|
|
|
|
gorbi
Осваиваюсь на форуме
 
Репутация: +2/-1
Offline
Пол: 
Сообщений: 192
|
 |
« Ответ #42 : 20.08.2008, 09:43:46 » |
|
А не кажется ли Вам, что сам факт обсуждения данной проблемы говорит о том, что древовидная структура всё-таки не есть очень распространённой раз не сложились некоторые стандарты в отображении. Кстати говоря списочная структура, по которой построен и ЭТОТ форум, по сути есть тоже древовидная структура, только ветки у неё одинаковые и называются страницы. Я встречал форумы с древовидной структурой навигации. Лично мне не понравилось ибо по отражаемой инфе сложно было понять суть и приходилось перечитывать последовательно сообщения, чтобы понять суть дискуссии. И последнее. Так я и не увидел примеров со 100 и более комментариями. Такие цепочки действительно возникают блогах, но если внимательно посмотреть, то там просто несколько разных обсуждений в одной цепи, которые на порядок были бы только читабельнее, если бы были разделены... Как по мне достаточно реализации двух основных функций - цитирование и ответ на комментарий. А дерево - это из области принципа Парето(нужность 20%, а затраты 80%)...
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #43 : 20.08.2008, 10:20:48 » |
|
А не кажется ли Вам, что сам факт обсуждения данной проблемы говорит о том, что древовидная структура всё-таки не есть очень распространённой раз не сложились некоторые стандарты в отображении. качественных реализаций комментариев на AJAX тоже не так уж и много, но это ведь не значит, что это не нужно никому? или что имеющиеся полностью удовлетворяют пользователей? Как по мне достаточно реализации двух основных функций - цитирование и ответ на комментарий. А дерево - это из области принципа Парето(нужность 20%, а затраты 80%)... ну скажем так, обе функции в новой версии уже присутствуют, как впрочем и дерево, а что касается затрат - я уже говорил, они на самом деле просто теряются на фоне объема других переработок... p.s. в принципе, дальнейшее обсуждение данной темы наверно уже смысла не имеет - непосредственно вопрос отображения и борьбы с нарушением дизайна как бы обсудили, решений как мне кажется вполне достаточно было предложено, на практике реализую наверно самый простой - в стандартном шаблоне просто уменьшу смещение уровней относительно родительских, чтобы по умолчанию в среднем помещалось 5-6 уровней.
|
|
|
|
|
Записан
|
|
|
|
mamahtehok
JComments Tester
Репутация: +8/-2
Offline
Сообщений: 73
|
 |
« Ответ #44 : 21.08.2008, 10:29:13 » |
|
чорт столько инсного пропустил )))
добавимся чтоль )))
вобщем вариант зигзагов мне достаточно понравился. только чуток додумать так сказать ))) в админке задавать не кол-во вложенности а мин. размер комента в процентах от колонки. если привысело начинать смещать в другую сторону но ни когда не заезжать за родителя.
отключения на уровне тоже вполне приемлемо, так как в коменте ж есть номер и там видно откуда ноги рстут. так же для облигчения навигации по большим простыням можно где нибуть вставлять якорт на родителя типа ответ на комент новер 0 и при нажжатии переходиться на якарь.
п.с смарт можеш мой полигон юзать и для широкогово тестинга, если он тебя устраивает.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #45 : 21.08.2008, 16:06:12 » |
|
п.с смарт можеш мой полигон юзать и для широкогово тестинга, если он тебя устраивает. угу, спасибо, так и сделаем, вот только залью туда чуть более свежую версию и наверно действительно пустим туда народ помучать комменты...
|
|
|
|
|
Записан
|
|
|
|
gorbi
Осваиваюсь на форуме
 
Репутация: +2/-1
Offline
Пол: 
Сообщений: 192
|
 |
« Ответ #46 : 22.08.2008, 13:39:25 » |
|
угу, спасибо, так и сделаем, вот только залью туда чуть более свежую версию и наверно действительно пустим туда народ помучать комменты...
Эх, скорей бы!!!
|
|
|
|
|
Записан
|
|
|
|
frosia
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #47 : 19.12.2008, 18:50:32 » |
|
Хм, так способ ограничения появился?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #48 : 19.12.2008, 19:05:27 » |
|
Хм, так способ ограничения появился?
нет, пока я эту задачу не решал - оставил на будущее... пока никто не жаловался 
|
|
|
|
|
Записан
|
|
|
|
frosia
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #49 : 19.12.2008, 19:26:27 » |
|
Решила просто потестить, насоздовала комментов кучу в виде ответов. Определенно надо делать ограничение на минимальную длинну тела коммента.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #50 : 19.12.2008, 19:37:02 » |
|
Определенно надо делать ограничение на минимальную длинну тела коммента. создайте в этом же разделе (Предложения и пожелания) отдельную тему с заголовком "Ограничение минимальной длины текста комментария", чтоб я не забыл про это... после НГ добавлю...
|
|
|
|
|
Записан
|
|
|
|
..С...е...р...ы...й..
Осваиваюсь на форуме
 
Репутация: +110/-2
Offline
Сообщений: 160
|
 |
« Ответ #51 : 19.12.2008, 19:48:18 » |
|
создайте в этом же разделе (Предложения и пожелания) отдельную тему с заголовком "Ограничение минимальной длины текста комментария"
а в чем разница этой темы от новой с похожим заголовком, ведь эта тема находится в соответсвующем разделе если название этой темы плохо отображает суть, так я могу переименовать 
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #52 : 19.12.2008, 20:00:27 » |
|
да, я пропустил, действительно тема Минимальная длина комментария уже есть - значит не забуду  На самом деле, это можно реализовать и в плагине. Я подумаю, куда включать, в компонент или плагин борьбы со спамом...
|
|
|
|
|
Записан
|
|
|
|
frosia
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #53 : 22.12.2008, 12:58:56 » |
|
Хмм, знаете сайт Engadget почему бы не сделать вложенность комментариев как там? Тоесть всего один уровень вложенности: -Коммент --Ответ на коммент --Ответ на ответ --Ответ на коммент Что-то вроде этого. Подробнее на вышеупомянутом сайте.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #54 : 22.12.2008, 15:41:00 » |
|
Хмм, знаете сайт Engadget почему бы не сделать вложенность комментариев как там? я могу в след. версии комментариев добавить в шаблоны доступность уровня вложенности - и тогда вы на уровне шаблона сможете этим управлять... в настройки я пока смысла выносить не вижу. В будущем - может быть и вынесем...
|
|
|
|
|
Записан
|
|
|
|
mikenike
Новичок
Репутация: +0/-0
Offline
Пол: 
Сообщений: 6
|
 |
« Ответ #55 : 16.03.2009, 14:39:11 » |
|
Можно попробовать графический способ добавив схему и отказавшись от отступов кроме первого уровня вложения, поясню:
|—{ Комментарий (1) |—{ Комментарий (2) |—{ Ответ на коменнтарий (2) (1) |—{.... |—{ Ответ на комментарий (2) (...n) |—{ Комментарий (...n) .......
в этом случае нужно будет только 6 стилей определить, уровень первого комментария (самый верхний) уровень первого комментария с ответом уровень первого ответа уровень между двух ответов уровень последнего ответа уровень продолжения основных комментариев уровень последнего комментария
вот где то так...
|
|
|
|
|
Записан
|
|
|
|
|