Комментарии в ICMS 2

#1 21 февраля 2015 в 18:21
У меня сайт стоит на движке ICMS 2, тематика "Обсуждения". Ожидается большое число комментариев под постом, но то как сейчас реализованы комментрии не совсем удобно для подобного, в особенности ответ на комментрии, они идут лесенкой по убыванию, что при большом количестве ответов на комментарий будет смотреться не красиво и неудобно. Сейчас все это выглядит так:



Хотелось бы, чтобы была какая-нибудь более удачная реализация, к примеру как на рисунках ниже:



Или так:



Можно как то реализовать это своими силами, например правкой в CSS или может подскажете что можно в коде поправить? Кто-нибудь может знает лучшее решение организации общения посредством комментариев?
#2 22 февраля 2015 в 00:51
а в настройках компонента нет возможности указанть уровень вложенности? в первой ветке было. т.е ставите не больше 2 и будет счастье
#3 22 февраля 2015 в 07:14


а в настройках компонента нет возможности указанть уровень вложенности? в первой ветке было. т.е ставите не больше 2 и будет счастье

yury

Нет, такого нет, я вот подумал, а не плохо было бы реализовать вариант ответов на комментарий как здесь на форуме "Ответ с полным цитированием".
#4 22 февраля 2015 в 09:55

"Ответ с полным цитированием".

Demet
Я уже давно реализовал, там простой jquery подставил бб тег цитаты и все. Стоит на 2-ке
#5 22 февраля 2015 в 09:59


"Ответ с полным цитированием".

Demet
Я уже давно реализовал, там простой jquery подставил бб тег цитаты и все. Стоит на 2-ке

VonKruger
Можете сказать как это сделать или поделитесь готовым файликом пожалуйста.
#6 22 февраля 2015 в 10:57
В файле templates/default/controllers/comment/comment.tpl.php — где выводятся ссылки редактировать, доавить. У мменя просто там уже не те строки многое менялось но где-то в конце страницы добавить ссылки
  1.  
  2. <span style="display: none;" class="delete comment_quote" title="Цитировать комментарий полностью">Цитировать</span>
  3. <span style="display: none;" class="delete comment_selquote" title="Цитировать выделенный текст" >Цитировать виделенное</span>
  4.  
А в файл comment.js в шаблоне папка js в самом конце вставить js код
  1.  
  2. // Цитировать
  3. $(function () {
  4. $("span.comment_quote").click(function () {
  5. qtext = $(this).parents(".comment");
  6. uname = qtext.find(".user").text();
  7. comtext = qtext.find(".text").html();
  8. time = qtext.find(".date").text();
  9. $('.textarea')[0].value += '[quote=' + uname + ' ('+time+')]' + comtext + '[/quote]'
  10. });
  11. });
  12. // Цитировать выделенное
  13. $(function () {
  14. $("span.comment_selquote").hover(function(){
  15. // qtext = $(this).parents(".list");
  16. if (window.getSelection)
  17. theSelection = window.getSelection().toString();
  18. else if (document.getSelection)
  19. theSelection = document.getSelection();
  20. else if (document.selection)
  21. theSelection = document.selection.createRange().text;
  22. });
  23. $("span.comment_selquote").click(function () {
  24. if (theSelection==''){
  25. alert("Для вставки цитаты в новое сообщение \nвыделите нужный текст и нажмите - Вставить цитату");
  26. }
  27. else{
  28. qtext = $(this).parents(".comment");
  29. uname = qtext.find(".user").text();
  30. time = qtext.find(".date").text();
  31. $('.textarea')[0].value += '[quote=' + uname + ' ('+time+')]'+'\n' + theSelection + '[/quote]'}
  32. });
  33. });
  34.  
Пример на скрине
#7 22 февраля 2015 в 11:02
Только у меня же под бб код вставка замените в js на свои если html
#8 22 февраля 2015 в 13:53
VonKruger, Большое спасибо, буду пробовать.
#9 22 февраля 2015 в 14:15
VonKruger, Как я понял, ссылку нужно подставить в этот код:

  1. <div class="links">
  2. <?php if ($is_can_add){ ?>
  3. <a href="#reply" class="reply" onclick="return icms.comments.add(<?php echo $entry['id']; ?>)"><?php echo LANG_REPLY; ?></a>
  4. <?php } ?>
  5. <?php if ($is_can_edit){ ?>
  6. <a href="#edit" class="edit" onclick="return icms.comments.edit(<?php echo $entry['id']; ?>)"><?php echo LANG_EDIT; ?></a>
  7. <?php } ?>
  8. <?php if ($is_can_delete){ ?>
  9. <a href="#delete" class="delete" onclick="return icms.comments.remove(<?php echo $entry['id']; ?>)"><?php echo LANG_DELETE; ?></a>
  10. <?php } ?>
  11. </div>
Но вот не могу понять, как должна моя ссылка выглядеть.
#10 22 февраля 2015 в 17:09
Да вот так

  1.  
  2. <?php if ($is_can_delete){ ?>
  3. <a href="#delete" class="delete" onclick="return icms.comments.remove(<?php echo $entry['id']; ?>)"><?php echo LANG_DELETE; ?></a>
  4. <?php } ?>
  5. <span style="display: none;" class="delete comment_quote" title="Цитировать комментарий полностью">Цитировать</span>
  6. <span style="display: none;" class="delete comment_selquote" title="Цитировать выделенный текст" >Цитировать виделенное</span>
  7.  
#11 22 февраля 2015 в 19:17
VonKruger, Все сделал как написано, но не появилось "цитировать" и "цитировать выделенное", что мог сделать не так, может чего то не хватает?
#12 22 февраля 2015 в 20:40
Js скрипт поставили?

Нажмите на ссылку ответить и появится цитировать и цитировать выделенное

ПО умолчанию они скрыты а после нажатия ответить появляются. Я так задумывал, если нужно просто убрать style="display: none;"
#13 22 февраля 2015 в 20:52
Да, вот файлы с изменениями файл
#14 22 февраля 2015 в 21:58
Да все правильно изменено. Должно работатть все.

Обновиь не пробовали несколько раз браузер может он кешировал или может быть включена в админке настройки-> интерфейс

Сжимать HTML
Объединять CSS-файлы
Объединять JS-файлы
#15 22 февраля 2015 в 23:41


Да все правильно изменено. Должно работатть все.

Обновиь не пробовали несколько раз браузер может он кешировал или может быть включена в админке настройки-> интерфейс

Сжимать HTML
Объединять CSS-файлы
Объединять JS-файлы

VonKruger

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