Как изменить?
Мне нужно чтобы комментарии выстраивались по убыванию даты, а ответы на них — это уже дело десятое.
Хотя в идеале должна быть и такая настройка, чтобы наверх поднимался комментарий, на который ответили.
И это реально сделать, но как?
public function addComment($comment){ if ($comment['parent_id'] == 0){ $this->incrementThreadOrdering($comment['target_controller'], $comment['target_subject'], $comment['target_id'], '*'); $comment['level'] = 1; $comment['ordering'] = 1 /* $this->getNextThreadOrdering($comment['target_controller'], $comment['target_subject'], $comment['target_id']) */; } else { $parent_comment = $this->getComment($comment['parent_id']); $comment['level'] = $parent_comment['level'] + 1; $comment['ordering'] = $this->getNextParentOrdering($parent_comment); if (!$comment['ordering']) { $comment['ordering'] = $this->getNextThreadOrdering($comment['target_controller'], $comment['target_subject'], $comment['target_id']); } $this->incrementThreadOrdering($comment['target_controller'], $comment['target_subject'], $comment['target_id'], $comment['ordering']); } cmsCache::getInstance()->clean('comments.list'); return $this->insert('comments', $comment); }
Без перезагрузки, значит что-то на аяксе.без перезагрузки страницы
Блок "public function addComment($comment){" я нашёл в "system\controllers\comments\model.php" заменил его на предложенный Risом, но не сработало.
Может это подойдет instantcms.ru/addons/opinions-for-instantcms2.htmlЕсть рабочий вариант для 2.10.0?
Поэтому такой функции и нет.
… но добавляя комментарии к разным комментариям они же к своим родителям прописываются, независимо от даты? Т.е. получается, что комментарии главные независимы. Хотя 100% не уверен.)))Смотрите сами. Вы создали коммент 25-го, я ответил на него 26-го. Мой коммент является "подкомментом" вашего.Как его можно сверху вашего разместить? Это же дерево. Тогда нужно отдельно сортировать корневые и отдельно дочерние.Т.е. возможно переписывать запрос. Хотя 100% не уверен.)))
Можно через пункты сортировки сделать следующее.
Yar, при таком варианте невозможно будет построить дерево комментариев (ответы на ответы на комментарии).
Поэтому такой функции и нет.
1. Последовательно. (Выводит как в коробке)
2… Последние в списке. (Дерево переворачиваем корнями вверх)
3. Последние в цепочке. (С учётом кто, кому ответил. Выводить скрытыми цепочками. Так же корнями вниз и корнями вверх)