Для сортировки по количеству комментариев я использовал похожий способ из этой статьи.
Отличие в том, что вместо LEFT JOIN нам потребуется просто JOIN (при этом материалы без комментариев выводится не будут вообще).
В системных настройках компонента пишем:
$query_join = "JOIN Comments_Count as b ON (a.Sub_Class_ID = b.Sub_Class_ID AND a.Message_ID = b.Message_ID)"; $query_order = "b.CountComments DESC"; $query_select = "b.CountComments";
и используем переменную $f_CountComments в шаблоне вывода объекта в списке для вывода количества комментариев.
$query_order = "b.CountComments DESC";
отсортирует материалы по количеству комментариев в них (DESC — по убыванию, ASC — по возрастанию, но мне сложно придумать задачу, для которой потребовалась бы ASC. разве если только для вывода самых НЕкомментируемых материалов, что было бы очень странно).
В дополнение к предыдущей статье хотелось бы добавить, что и в том, и в этом случае объект класса nc_comments создавать не требуется, если не нужно выводить сам блок комментариев