¿Cuál es la forma correcta de extender la ruta de categorías y filtrar temas?

Hola,

La configuración, implementada como un plugin y un tema:
Tenemos varias pestañas para cada categoría, cada una con un destino diferente.

  • “Acerca de” enlaza a un tema específico generado automáticamente que es invisible en la lista de temas. (/t/topic-slug/20)

  • “Temas” es la lista de temas “regulares”, el comportamiento habitual. (/c/parent-slug/child-slug/11)

  • “Eventos” es una lista de temas que contienen invitaciones a eventos (usando el plugin discourse-calendar). Estos temas tendrán la etiqueta “event”, o tendrán archetype=“event”, o ambas cosas. (/c/parent-slug/child-slug/11?archetype=event)

  • “Miembros” enlaza a la página del grupo de un grupo generado automáticamente asignado a esta categoría específica. (/g/group-slug)

Los problemas:

  1. El problema principal es que tendremos varios tipos de temas. Actualmente tenemos “regulares” y “eventos”, pero planeamos agregar algunos más por razones comerciales. Estoy oscilando entre usar etiquetas o Topic.archetype para distinguirlos, pero cualquiera que usemos, queremos poder filtrar los temas de un tipo bajo su etiqueta correspondiente y que la lista se comporte como de costumbre. Es decir, la carga automática de temas al hacer scroll también debe filtrarse por ese tipo de tema, y los banners que anuncian la creación de un nuevo tema solo deben aparecer si estás viendo la pestaña del tipo de tema (regular o evento) del tema recién creado. (es decir, “Ver 1 evento nuevo o actualizado” solo debe aparecer si estás viendo la pestaña de Eventos).

  2. El problema secundario es que queremos extender la URL de las categorías para hacer que las URLs de las pestañas sean consistentes. Es decir:

  • “Acerca de” enlaza a “/c/parent-slug/child-slug/11/about”,
  • “Temas” enlaza a “/c/parent-slug/child-slug/11/regular”,
  • “Eventos” enlaza a “/c/parent-slug/child-slug/11/events”,
  • “Miembros” enlaza a “/c/parent-slug/child-slug/11/members”,

Hemos buscado ejemplos de plugins que hagan algo similar a lo que queremos, pero el plugin Favoritos está roto, y el componente de tema Enlaces personalizados de navegación superior es para enlaces de nivel superior.

¿Existe una forma adecuada de crear rutas personalizadas a nivel de categoría, similares a “/c/category-slug/11/l/latest”, “/c/category-slug/11/l/new” y “/c/category-slug/11/l/top”? Estoy pensando en usar etiquetas para filtrar diferentes tipos de temas, pero he notado que el banner de “tema nuevo o actualizado” no aparece cuando estoy filtrado por etiqueta. ¿Es entonces el uso de arquetipos el camino a seguir?

Sé que esta es una publicación larga con múltiples preguntas, pero cualquier aporte sería muy apreciado.

Acabo de mover tu tema a Dev; considera cambiar el título para que parezca más una pregunta y así la gente sepa que necesitas respuestas. Algo como “¿Existe una forma correcta de…?” o “¿Cuál es la forma correcta de…?”.

Actualmente, parece que estás indicando a la comunidad la forma correcta de hacerlo.