Realizo cambios en la aplicación de Discourse donde quiero mostrar temas según el número de respuestas, creé una consulta de Rails pero no puedo encontrar la parte de la vista, ¿dónde necesito mostrar y agregar este alcance?
Si desea cambiar el comportamiento de Discourse, deberá consultar Desarrollo de plugins de Discourse - Parte 1 - Crear un plugin básico o quizás Guía para principiantes sobre el desarrollo de temas de Discourse.
No quiero crear un nuevo plugin, solo quiero cambiar las consultas de categoría y tema desde el backend y mostrarlas en la vista, pero no puedo averiguar dónde se muestran los enlaces de la lista de temas.
Hay una configuración de categoría que podría funcionar para eso:
Si necesitas cambiar el código, deberías hacer tus cambios en un plugin. Hacer cambios en el código principal te causará problemas en el futuro.
De acuerdo Simon, gracias
Creo que me ayudará
Quiero ordenar los enlaces del lado derecho de los temas para una categoría en particular basándome en el mayor número de temas. ¿Necesitaré hacer cambios en el backend?
No creo que necesites modificar el código para esto, pero es posible que necesites ejecutar un comando desde la consola de rails de tu sitio para que los temas se muestren en el nuevo orden en la página de inicio de tu sitio.
Cuando seleccionas “Categorías con temas destacados” para la configuración del sitio Estilo de página de categoría de escritorio, el orden en que se muestran los temas destacados debe establecerse según el valor de la configuración “Ordenar lista de temas” de cada categoría. Desafortunadamente, si realizas un cambio en la configuración “Ordenar lista de temas” de una categoría, ese cambio no se muestra inmediatamente en la página de inicio del sitio. No estoy seguro de dónde Discourse almacena en caché los temas destacados que se muestran en la página de inicio ni qué acción utiliza Discourse para romper la caché.
Según las pruebas en mi propio sitio, veo que la caché se puede romper ejecutando lo siguiente desde la consola de rails:
# Asigna la categoría para la que deseas corregir los resultados a una variable, por ejemplo:
c = Category.find(42)
# Luego ejecuta
CategoryFeaturedTopic.feature_topics_for(c)
Después de ejecutar eso, los temas deberían mostrarse en la página de inicio en el orden que seleccionaste para la configuración “Ordenar lista de temas” de la categoría. No creo que ejecutar ese comando pueda causar ningún problema, pero siempre ten cuidado al ejecutar comandos desde la consola de rails.
Estoy seguro de que hay una manera más fácil de hacer esto. Posiblemente solo necesites esperar hasta 24 horas para que Discourse rompa la caché de la lista de temas destacados antigua. No veo dónde en el código se rompe la caché. El código relevante parece estar aquí: discourse/app/models/category_featured_topic.rb at main · discourse/discourse · GitHub.
Ejecuté esa consulta, pero el problema principal es dónde se muestran estos temas destacados en la página principal, en qué archivo .html está el código para mostrar estos datos en la interfaz de usuario.
Ya he realizado las consultas para los datos que necesito ordenar, pero el problema es dónde pongo la consulta en qué modelo.

