Я вношу изменения в приложение Discourse, где хочу отображать темы в зависимости от количества ответов. Я создал запрос Rails, но не могу найти часть представления, где нужно показать и добавить эту область видимости.
Если вы хотите изменить поведение Discourse, вам следует ознакомиться с Разработка плагинов для Discourse — Часть 1: Создание базового плагина или, возможно, с Руководство для начинающих по разработке тем для Discourse.
Я не хочу создавать новый плагин, мне просто нужно изменить запросы категорий и тем с бэкенда и отобразить их в представлении, но я не могу найти, где показывается список ссылок на темы.
Хорошо, Саймон, спасибо.
Думаю, это мне поможет.
Я не думаю, что вам нужно изменять код для этого, но, возможно, потребуется выполнить команду в консоли Rails вашего сайта, чтобы темы отображались в новом порядке на главной странице.
При выборе «Категории с избранными темами» для настройки desktop category page style порядок отображения избранных тем должен определяться значением настройки «Сортировка списка тем» для каждой категории. К сожалению, если вы измените настройку «Сортировка списка тем» для категории, это изменение не отобразится на главной странице сайта немедленно. Я не уверен, где именно Discourse кэширует избранные темы, отображаемые на главной странице, и какое действие используется для сброса этого кэша.
По результатам тестирования на моем собственном сайте я заметил, что кэш можно сбросить, выполнив в консоли Rails следующую команду:
# Присвойте категорию, для которой нужно исправить отображение, переменной, например:
c = Category.find(42)
# Затем выполните:
CategoryFeaturedTopic.feature_topics_for(c)
После выполнения этой команды темы должны отобразиться на главной странице в том порядке, который вы выбрали в настройке «Сортировка списка тем» для категории. Я не думаю, что выполнение этой команды может вызвать какие-либо проблемы, но всегда будьте осторожны при запуске команд из консоли Rails.
Уверен, что существует более простой способ сделать это. Возможно, вам просто нужно подождать до 24 часов, пока Discourse не сбросит кэш старого списка избранных тем. Я не вижу в коде места, где происходит сброс кэша. Соответствующий код, по-видимому, находится здесь: discourse/app/models/category_featured_topic.rb at main · discourse/discourse · GitHub.
Я выполнил этот запрос, но главная проблема в том, где именно на главной странице отображаются рекомендуемые темы: в каком .html-файле находится код для вывода этих данных в интерфейсе.
У меня уже есть запросы для получения необходимых данных, которые нужно отсортировать, но проблема в том, в какую модель следует встроить этот запрос.

