Новые комментарии

#1 14 июня 2011 в 13:12
Как сделать, что бы новые комментарии шли выше старых? А то когда их много, новые идут внизу и не всегда это удобно.
#2 22 января 2012 в 20:01
В файле \components\comments\model.php в 200 сроке меняем ASC на DESC. Новые комменты будут вверху.
PS Проверено на 1.8 и 1.9
#3 12 апреля 2014 в 14:03
Так как создавать темы не могу, задам тут (наиболее подходящая тема).
Подскажите, как форму комментариев сделать открытой примерно как тут?
#4 25 декабря 2017 в 12:29
А как сделать, что бы новые комментарии шли выше старых на instantCMS 2x
#5 25 декабря 2017 в 13:16

А как сделать, что бы новые комментарии шли выше старых на instantCMS 2x

fincheck

Пробовали, и так и так — логично, конечно, чтобы новые были вверху, но столкнулись с проблемой "вложенности" и комментариев комментариев
поднимать выше те, на которые пошла ветка обсуждения? =)

от старых к новым сверху вниз, пока самое оптимальное решение

единственное, что лучше — это не отображать всю ветку — а показывать только несколько новых — и иметь кнопочку "Развернуть" все
#6 25 декабря 2017 в 21:59

логично, конечно, чтобы новые были вверху ...

@ivanpolyakov
Если вдуматься странная логика)))
Мы читаем текст сверху вниз и слева на право. Т.е. логично что текст который находится выше и левее написан/напечатан ранее чем текст который располагается ниже и правее))) Другими словами сверху более старые комменты, снизу более новые.
#7 25 декабря 2017 в 22:39

Если вдуматься странная логика

Val
а что тут такого странного. Стены в группах вк, на страницах сверху вниз и нормально. удобно.
как в вк было бы идеально сами комменты новые сверху, а вложенные обсуждения как обычно
Вот если бы настроить это в компоненте галочки "показывать сверху вниз", "показывать снизу вверх". "показывать форму сферху" "показывать форму снизу"
И еще вкладки "новые", "обсуждаемые"(это которые ветки с вложенными), "рейтинг комментариев"
Реально если гибкая система комментариев была бы, то было бы удобнее. smile
#8 1 марта 2018 в 14:53
Так все-таки для 2х есть решение — комменты вверх или сворачивание первых. Просто столкнулся с тем, что есть комменты о фирме… сперва были плохие, но время прошло и стали писать хорошие — но читаются первыми только плохие… вот как так. Так же в STEAM отзывы о играх мы читаем… сперва новые… так как время идет и что то меняется.
Есть реальные рабочие решения?
#9 1 марта 2018 в 22:53
Приветствую. Ну как вариант отключить систему комментирования InstantCMS, а подключить другую. Например здесь и здесь подробнее, а ещё и здесь.
#10 2 марта 2018 в 09:55


Приветствую. Ну как вариант отключить систему комментирования InstantCMS, а подключить другую. Например здесь и здесь подробнее, а ещё и здесь.

fincheck

т.е. убить существующие комменты… — не вариант. Интересуют системные решения а не подвески с других ресурсов
#11 2 марта 2018 в 12:34
Как вариант, убить древовидную структуру, везде прописать $level = 1
\templates\default\controllers\comments\comment.tpl.php
  1. $level = /* (($limit_nesting && $entry['level'] > $limit_nesting) ? $limit_nesting : ($entry['level']-1))*30 */ 1;
и выводить комментарии в обратном порядке:
\system\controllers\comments\model.php
  1. public function getComments($callback = null){
  2.  
  3. $user = cmsUser::getInstance();
  4.  
  5. $this->select('r.score', 'is_rated');
  6.  
  7. $this->joinUserLeft();
  8. $this->joinLeft('comments_rating', 'r', "r.comment_id = i.id AND r.user_id='{$user->id}'");
  9.  
  10. if (!$this->order_by){
  11. $this->orderBy('ordering', 'DESC');
  12. }
  13.  
  14. if (!$this->approved_filter_disabled) { $this->filterApprovedOnly(); }
  15.  
  16. $this->useCache('comments.list');
  17.  
  18. return $this->get('comments', function($item, $model) use ($callback){
  19.  
  20. $item['user'] = array(
  21. 'id' => $item['user_id'],
  22. 'nickname' => $item['user_nickname'],
  23. 'is_online' => cmsUser::userIsOnline($item['user_id']),
  24. 'avatar' => $item['user_avatar']
  25. );
  26.  
  27. if (is_callable($callback)){
  28. $item = $callback($item, $model);
  29. }
  30.  
  31. return $item;
  32.  
  33. });
  34.  
  35. }
#12 4 марта 2018 в 15:04


Как вариант, убить древовидную структуру, везде прописать $level = 1
\templates\default\controllers\comments\comment.tpl.php

  1. $level = /* (($limit_nesting && $entry['level'] > $limit_nesting) ? $limit_nesting : ($entry['level']-1))*30 */ 1;
и выводить комментарии в обратном порядке:
\system\controllers\comments\model.php
  1. public function getComments($callback = null){
  2.  
  3. $user = cmsUser::getInstance();
  4.  
  5. $this->select('r.score', 'is_rated');
  6.  
  7. $this->joinUserLeft();
  8. $this->joinLeft('comments_rating', 'r', "r.comment_id = i.id AND r.user_id='{$user->id}'");
  9.  
  10. if (!$this->order_by){
  11. $this->orderBy('ordering', 'DESC');
  12. }
  13.  
  14. if (!$this->approved_filter_disabled) { $this->filterApprovedOnly(); }
  15.  
  16. $this->useCache('comments.list');
  17.  
  18. return $this->get('comments', function($item, $model) use ($callback){
  19.  
  20. $item['user'] = array(
  21. 'id' => $item['user_id'],
  22. 'nickname' => $item['user_nickname'],
  23. 'is_online' => cmsUser::userIsOnline($item['user_id']),
  24. 'avatar' => $item['user_avatar']
  25. );
  26.  
  27. if (is_callable($callback)){
  28. $item = $callback($item, $model);
  29. }
  30.  
  31. return $item;
  32.  
  33. });
  34.  
  35. }

Ris


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