Faço alterações no aplicativo discourse onde quero mostrar tópicos de acordo com o número de respostas, criei uma consulta rails, mas não consigo encontrar a parte da visualização, onde preciso mostrar e adicionar este escopo.
Se você quiser alterar o comportamento do Discourse, precisará consultar Desenvolvendo Plugins do Discourse - Parte 1 - Crie um plugin básico ou talvez Guia para iniciantes no desenvolvimento de Temas do Discourse.
Não quero criar um novo plugin, só quero alterar as consultas de categoria e tópico do lado do backend e quero mostrar na visualização, mas não consigo descobrir onde os links da lista de tópicos são exibidos.
Existe uma configuração de categoria que pode funcionar para isso:
Se você precisar alterar o código, deverá fazer suas alterações em um plugin. Fazer alterações no código principal causará problemas no futuro.
Ok Simon, obrigado
Acho que isso vai me ajudar
Quero classificar estes links do lado direito de tópicos para uma categoria específica com base no maior número de tópicos, isso vai precisar de uma alteração no lado do backend, certo?
Não acho que você precise modificar o código para isso, mas talvez precise executar um comando do console Rails do seu site para que os tópicos sejam exibidos na nova ordem na página inicial do seu site.
Quando você seleciona “Categorias com Tópicos em Destaque” para a configuração do site Estilo da página de categoria do desktop, a ordem em que os tópicos em destaque são exibidos deve ser definida pelo valor da configuração “Ordenar Lista de Tópicos” de cada categoria. Infelizmente, se você fizer uma alteração na configuração “Ordenar Lista de Tópicos” de uma categoria, essa alteração não é exibida imediatamente na página inicial do site. Não tenho certeza de onde o Discourse está armazenando em cache os tópicos em destaque que são exibidos na página inicial ou qual ação é usada pelo Discourse para acionar a quebra do cache.
Com base em testes no meu próprio site, vejo que o cache pode ser quebrado executando o seguinte a partir do console Rails:
# Atribua a categoria para a qual você deseja corrigir os resultados a uma variável, por exemplo:
c = Category.find(42)
# Em seguida, execute
CategoryFeaturedTopic.feature_topics_for(c)
Após executar isso, os tópicos deverão ser exibidos na página inicial na ordem que você selecionou para a configuração “Ordenar Lista de Tópicos” da categoria. Não acho que a execução desse comando possa causar problemas, mas sempre tenha cuidado ao executar comandos do console Rails.
Tenho certeza de que há uma maneira mais fácil de fazer isso. Possivelmente, você só precisa esperar até 24 horas para que o Discourse quebre o cache da lista antiga de tópicos em destaque. Não estou vendo onde no código o cache é quebrado. O código relevante parece estar aqui: discourse/app/models/category_featured_topic.rb at main · discourse/discourse · GitHub.
Eu executei essa consulta, mas o problema principal é onde esses tópicos em destaque são exibidos na página inicial, em qual arquivo .html está o código para mostrar esses dados na interface do usuário.
Eu já fiz as consultas para os dados que preciso classificar, mas o problema é onde colocar a consulta em qual modelo.

