LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
19.06.2013, 20:13:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 [2]  Все   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Древовидные комментарии - ограничивать уровень вложенности или нет?  (Прочитано 32682 раз)
0 Пользователей и 1 Гость смотрят эту тему.
smart
Администратор
*******

Репутация: +1219/-14
Online Online

Пол: Мужской
Сообщений: 6646


снова дома...


« : 18.08.2008, 11:05:44 »

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

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

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

А посему вопрос: что делать?

Первое, что приходит сразу на ум - это в административной панели добавить настройку, ограничивающую длину дискуссии (глубину вложенности). Таким образом, на каком-то уровне просто перестанут отображаться кнопки Ответить и пользователь не сможет добавить сообщение. Но с точки зрения пользователей, это как бы не очень правильно - у них дискуссия, спор идет во всю, и бах - отвечать дальше нельзя, дым в трубу, пельмени разлепить...

В принципе, можно пойти другим путем - попробовать сделать так, чтобы отступ справа уменьшался по мере роста уровня вложенности, постепенно сходя на 0. По идее, данный подход так же вполне применим, но потребует в шаблоне комментариев задать стили по умолчанию для первых 5-15 уровней, а остальное оставить на совести автора сайта...

Какие еще есть идеи, варианты? Кто что подскажет?
« Последнее редактирование: 23.10.2008, 15:00:56 от smart » Записан
 
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 895


Kiss my shiny metal ass!


« Ответ #31 : 18.08.2008, 18:32:09 »

1. задать параметр для 1 ветки - отображать скажем 10 или 15 ответов (мы контролируем вложенность и смотрим, чтобы дизайн не растягивало)
2. когда достигнут максимум ветки у нас появляется ссылка - "Прочитать все ответы"

3. кликая на нее у нас на аяксе открывается почти на все окно (а-ля лайт бокс) окно, которое имеет в себе:
а) пост на которые идут комменты.
б) с небольшим выделением и может отступом все ответы на него друг под другом, без дерева.

Бууууу, окна всплывающие, кнопки дополнительные. Нельзя так, просто надо... Чем меньше окон и кнопок, тем лучше, имхо. Т.е. лишнего быть не должно, а это именно лишнее. Зачем, если можно на одной странице отобразить? Мы убьем и кнопку и окно.
Записан
gorbi
Осваиваюсь на форуме
***

Репутация: +2/-1
Offline Offline

Пол: Мужской
Сообщений: 192


« Ответ #32 : 18.08.2008, 18:38:25 »

Сорри за 5 копеек. Какое основное назначение компонента комментариев? Правильно - комментировать основной материал. Поэтому более логично вначале раздерибанить линейную структуру - максимальная совместимость с популярными компонентами, набор средств для индивидуализации комментатора (аватары, подписка, баны и пр.), удобный редактор для самого коммента.
Древовидные комментарии - сорри, но это уже ближе к блогам....форумам и т.д. Потребность в такой штуке будет максимум у 5%. С учётом бесплатности компонента этот путь может оказаться тупиковым и не иметь конца...
Если я не прав, пусть кто-то приведёт работающие примеры именно основной материал + древовидный комментарий (но не блоги!!!).
Просьба камни не бросать и на личности не переходить...
Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 895


Kiss my shiny metal ass!


« Ответ #33 : 18.08.2008, 18:49:42 »

Ну вот, данный компонент является примером. А почему бы и нет? А Вы можете назвать четкую границу между комментариями и блогами? И там и там есть основной материал. И там и там на него отвечают. И там и там подписка. И там и там цитирование. И там и там аватары, подписка и многое другое.  Разница?
Записан
smart
Администратор
*******

Репутация: +1219/-14
Online Online

Пол: Мужской
Сообщений: 6646


снова дома...


« Ответ #34 : 18.08.2008, 19:41:47 »

Если я не прав, пусть кто-то приведёт работающие примеры именно основной материал + древовидный комментарий (но не блоги!!!).
а вы можете сформулировать принципиальную разницу между материалами с комментариями и блогом? я честно говоря не совсем понимаю, каким образом внешний вид отображения дискуссии может повлиять кардинально на принадлежность сайта к блогам...
Записан
abbyevg
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 86


эвилпанда


« Ответ #35 : 19.08.2008, 02:00:04 »

Действительно, тратить слишком много времени и открывать америку в выравнивании ветки сообщений не стоит. Как написал VETERINAR , достаточно сдвигать некое число сообщений (которое настраивается в админке).

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

(какие еще к черту зигзаги???  Shocked )))

Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 895


Kiss my shiny metal ass!


« Ответ #36 : 19.08.2008, 02:29:47 »

Нуууу, Вы недооцениваете возможность общения в комментариях. Я видел и 1000 и 5000 комментариев. Это сайты, на которых образовалось сообщество.

Не самый лучший пример, но возьмем тот же удавком )
Записан
gorbi
Осваиваюсь на форуме
***

Репутация: +2/-1
Offline Offline

Пол: Мужской
Сообщений: 192


« Ответ #37 : 19.08.2008, 05:20:10 »

а вы можете сформулировать принципиальную разницу между материалами с комментариями и блогом? я честно говоря не совсем понимаю, каким образом внешний вид отображения дискуссии может повлиять кардинально на принадлежность сайта к блогам...
Я могу сформулировать разницу между блогами и комментариями. Это кстати не сложно. В случае с блогами должны быть чёткие механизмы формирования сообщества, грубо говоря кого Вы хотите видеть в комментариях, кого нет, возможно рейтинги(типа кармы и т.д.). Ну и самое главное, компонент блогов - это обычно более самостоятельный компонент, который не интегрируют с остальными компонентами...
И последнее - если бы древовидные комментарии были бы столь массовыми, то и дизайн был бы устоявшимся и не требовал обсуждения...
На самом деле это не простая дискуссия. Компонент блогов и эти самые древовидные компонент - это другой уровень  сложности и соответственно временных затрат на создание, в том числе и тестирование. Кстати говоря, разница во времени между выходами новых релизов это подтверждает...
Записан
smart
Администратор
*******

Репутация: +1219/-14
Online Online

Пол: Мужской
Сообщений: 6646


снова дома...


« Ответ #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 Offline

Сообщений: 160



« Ответ #39 : 19.08.2008, 11:30:23 »

1. задать параметр для 1 ветки - отображать скажем 10 или 15 ответов (мы контролируем вложенность и смотрим, чтобы дизайн не растягивало)

2. когда достигнут максимум ветки у нас появляется ссылка - "Прочитать все ответы"

3. кликая на нее у нас на аяксе открывается почти на все окно (а-ля лайт бокс) окно, которое имеет в себе:
а) пост на которые идут комменты.
б) с небольшим выделением и может отступом все ответы на него друг под другом, без дерева.

Мысль тоже нормальная, если внести несколько поправок:
1. вариант-1: под статьёй сразу же ссылка "читать коментарии";
    вариант-2: отобрадаются комментарии пока не достгнут максимум вложенности или определённое число, типа демо части.
2. во всплывающем слое отобразить полное дерево комментов без всякмх там разбиений, с обычными полосами прокрутки. В этом случае дерево будет выглядеть во всей своей "натуральности"
НО статью отображать не нужно, так как она итак доступна и по идее уже должна быть прочитана.


Записан
..С...е...р...ы...й..
Осваиваюсь на форуме
***

Репутация: +110/-2
Offline Offline

Сообщений: 160



« Ответ #40 : 19.08.2008, 11:41:56 »

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

Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 895


Kiss my shiny metal ass!


« Ответ #41 : 19.08.2008, 11:46:24 »

Всплывающие окна - полохо. Нельзя усложнять. Если предыдущие варианты не подходят, нужно думать как ещё красивее сделать.

Но меньше кнопок и меньше окон, не создавайте сложностей на ровном месте.
Записан
gorbi
Осваиваюсь на форуме
***

Репутация: +2/-1
Offline Offline

Пол: Мужской
Сообщений: 192


« Ответ #42 : 20.08.2008, 09:43:46 »

А не кажется ли Вам, что сам факт обсуждения данной проблемы говорит о том, что древовидная структура всё-таки не есть очень распространённой раз не сложились некоторые стандарты в отображении. Кстати говоря списочная структура, по которой построен и ЭТОТ форум, по сути есть тоже древовидная структура, только ветки у неё одинаковые и называются страницы.
Я встречал форумы с древовидной структурой навигации. Лично мне не понравилось ибо по отражаемой инфе сложно было понять суть и приходилось перечитывать последовательно сообщения, чтобы понять суть дискуссии.
И последнее. Так я и не увидел примеров со 100 и более комментариями. Такие цепочки действительно возникают блогах, но если внимательно посмотреть, то там просто несколько разных обсуждений в одной цепи, которые на порядок были бы только читабельнее, если бы были разделены...
Как по мне достаточно реализации двух основных функций - цитирование и ответ на комментарий. А дерево - это из области принципа Парето(нужность 20%, а затраты 80%)...
Записан
smart
Администратор
*******

Репутация: +1219/-14
Online Online

Пол: Мужской
Сообщений: 6646


снова дома...


« Ответ #43 : 20.08.2008, 10:20:48 »

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

Как по мне достаточно реализации двух основных функций - цитирование и ответ на комментарий. А дерево - это из области принципа Парето(нужность 20%, а затраты 80%)...
ну скажем так, обе функции в новой версии уже присутствуют, как впрочем и дерево, а что касается затрат - я уже говорил, они на самом деле просто теряются на фоне объема других переработок...

p.s. в принципе, дальнейшее обсуждение данной темы наверно уже смысла не имеет - непосредственно вопрос отображения и борьбы с нарушением дизайна как бы обсудили, решений как мне кажется вполне достаточно было предложено, на практике реализую наверно самый простой - в стандартном шаблоне просто уменьшу смещение уровней относительно родительских, чтобы по умолчанию в среднем помещалось 5-6 уровней.
Записан
mamahtehok
JComments Tester
*

Репутация: +8/-2
Offline Offline

Сообщений: 73


« Ответ #44 : 21.08.2008, 10:29:13 »

чорт столько инсного пропустил )))

добавимся чтоль )))

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

отключения на уровне тоже вполне приемлемо, так как в коменте ж есть номер и там видно откуда ноги рстут. так же для облигчения навигации по большим простыням можно где нибуть вставлять якорт на родителя типа ответ на комент новер 0 и при нажжатии переходиться на якарь.

п.с  смарт можеш мой полигон юзать и для широкогово тестинга, если он тебя устраивает.
Записан
smart
Администратор
*******

Репутация: +1219/-14
Online Online

Пол: Мужской
Сообщений: 6646


снова дома...


« Ответ #45 : 21.08.2008, 16:06:12 »

п.с  смарт можеш мой полигон юзать и для широкогово тестинга, если он тебя устраивает.
угу, спасибо, так и сделаем, вот только залью туда чуть более свежую версию и наверно действительно пустим туда народ помучать комменты...
Записан
gorbi
Осваиваюсь на форуме
***

Репутация: +2/-1
Offline Offline

Пол: Мужской
Сообщений: 192


« Ответ #46 : 22.08.2008, 13:39:25 »

угу, спасибо, так и сделаем, вот только залью туда чуть более свежую версию и наверно действительно пустим туда народ помучать комменты...
Эх, скорей бы!!!
Записан
frosia
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #47 : 19.12.2008, 18:50:32 »

Хм, так способ ограничения появился?
Записан
smart
Администратор
*******

Репутация: +1219/-14
Online Online

Пол: Мужской
Сообщений: 6646


снова дома...


« Ответ #48 : 19.12.2008, 19:05:27 »

Хм, так способ ограничения появился?
нет, пока я эту задачу не решал - оставил на будущее... пока никто не жаловался Azn
Записан
frosia
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #49 : 19.12.2008, 19:26:27 »

Решила просто потестить, насоздовала комментов кучу в виде ответов. Определенно надо делать ограничение на минимальную длинну тела коммента.
Записан
smart
Администратор
*******

Репутация: +1219/-14
Online Online

Пол: Мужской
Сообщений: 6646


снова дома...


« Ответ #50 : 19.12.2008, 19:37:02 »

Определенно надо делать ограничение на минимальную длинну тела коммента.
создайте в этом же разделе (Предложения и пожелания) отдельную тему с заголовком "Ограничение минимальной длины текста комментария", чтоб я не забыл про это... после НГ добавлю...
Записан
..С...е...р...ы...й..
Осваиваюсь на форуме
***

Репутация: +110/-2
Offline Offline

Сообщений: 160



« Ответ #51 : 19.12.2008, 19:48:18 »

создайте в этом же разделе (Предложения и пожелания) отдельную тему с заголовком "Ограничение минимальной длины текста комментария"

а в чем разница этой темы от новой с похожим заголовком, ведь эта тема находится в соответсвующем разделе
если название этой темы плохо отображает суть, так я могу переименовать  Grin
Записан
smart
Администратор
*******

Репутация: +1219/-14
Online Online

Пол: Мужской
Сообщений: 6646


снова дома...


« Ответ #52 : 19.12.2008, 20:00:27 »

да, я пропустил, действительно тема  Минимальная длина комментария уже есть - значит не забуду Azn На самом деле, это можно реализовать и в плагине. Я подумаю, куда включать, в компонент или плагин борьбы со спамом...
Записан
frosia
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #53 : 22.12.2008, 12:58:56 »

Хмм, знаете сайт Engadget почему бы не сделать вложенность комментариев как там? Тоесть всего один уровень вложенности:
-Коммент
--Ответ на коммент
--Ответ на ответ
--Ответ на коммент
Что-то вроде этого. Подробнее на вышеупомянутом сайте.
Записан
smart
Администратор
*******

Репутация: +1219/-14
Online Online

Пол: Мужской
Сообщений: 6646


снова дома...


« Ответ #54 : 22.12.2008, 15:41:00 »

Хмм, знаете сайт Engadget почему бы не сделать вложенность комментариев как там?
я могу в след. версии комментариев добавить в шаблоны доступность уровня вложенности - и тогда вы на уровне шаблона сможете этим управлять... в настройки я пока смысла выносить не вижу. В будущем - может быть и вынесем...
Записан
mikenike
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 6


« Ответ #55 : 16.03.2009, 14:39:11 »

Можно попробовать графический способ добавив схему и отказавшись от отступов кроме первого уровня вложения, поясню:

|—{ Комментарий (1)
|—{ Комментарий (2)
  |—{ Ответ на коменнтарий (2) (1)
  |—{....
  |—{ Ответ на комментарий (2) (...n)
|—{ Комментарий (...n)
.......

в этом случае нужно будет только 6 стилей определить,
уровень первого комментария (самый верхний)
уровень первого комментария с ответом
    уровень первого ответа
    уровень между двух ответов
    уровень последнего ответа
уровень продолжения основных комментариев
уровень последнего комментария

вот где то так...
Записан
Страниц: 1 [2]  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet