"Ответить в личку", красивое дерево комментариев.

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

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

В крайнем случае, если дискуссия требует продолжение именно в комментариях — можно просто «отступить» и воспользоваться обычной кнопкой «ответить», в самом низу.

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

А вот как это сделать.

Шаблон — new/actions/actionBlog/comment.tpl

Вместо:

<li><a href="javascript:lsCmtTree.toggleCommentForm({$aComment.obj->getId()});" class="reply-link">Ответить</a></li>


Следует вставить:

{if $aComment.level > 10}
<li><a href="{$DIR_WEB_ROOT}/talk/add/?talk_users={$aComment.obj->getUserLogin()}" class="reply-link">Ответить в личку</a></li>
{else}
<li><a href="javascript:lsCmtTree.toggleCommentForm({$aComment.obj->getId()});" class="reply-link">Ответить</a></li>
{/if}

6 комментариев

avatar
Простое и оригинальное решение. ПО моему его стоит в Tips & tricks отдать :-)
  • Carw
  • 0
avatar
Хорошая идея, но всетаки лучше не ограничивать пользователей, а при $aComment.level > 10 не смещать дерово вправо, а делать последовательное расположение комментариев.
avatar
согласен с Covax.
Иногда интересное общение может продолжаться довольно долго и поэтому лучше просто не смещать дерево чем не знать к чему в итоге пришли собеседники
avatar
вот вот, иногда обсуждение бывает интереснее самого топика
avatar
И это так на самом деле. Простой пример Хабр — если бы не комменты, я бы там не находился, так мне интересно узнать не «как сделать то-то», а что думают люди по этому поводу
avatar
сейчас тема уже не актуальна.
в svn есть решение этой проблемы получше.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.