Aún soy nuevo en Discourse, pero estoy aprendiendo más sobre cómo programar sobre él para personalizar cosas. Estoy tratando de aprender la mejor manera de insertar código en lugares específicos de una página (más dirigido que en un área general de salida). Parece que tendré que sobrescribir la plantilla que controla ese lugar.
Entiendo que, ya sea que lo haga en el área de de mi panel de personalización o en un repositorio de GitHub separado que usaré como tema, tendré que:
Encontrar la plantilla correcta para editar
Volver a imprimir toda la plantilla donde esté realizando la codificación (panel, repositorio, etc.), y
Realizar los cambios que desee en la plantilla
El paso 1 está resultando ser un obstáculo. ¿Cómo encuentro la plantilla correcta para editar?
Esto es lo que he recopilado: Las plantillas de Discourse están aquí, y parece que las plantillas “reales” que querré editar generalmente están en el archivo de componentes aquí.
Como ejemplo, digamos que quiero agregar una línea a cada lista de grupos en la página de índice de grupos (el equivalente a esta página). ¿Dónde está la plantilla para eso? Mi mejor suposición es que es la plantilla de tarjetas de grupo, pero no estoy seguro, especialmente porque soy totalmente nuevo en Ember.
¿Existe una forma más segura para que identifique la plantilla correcta?
Entendido. Usándolo, hay algo que no termino de entender (probablemente tenga que ver con que soy nuevo en Ember):
Si observas la página de grupos de Discourse, cada entrada de grupo tiene un nombre y un recuento de usuarios.
Usando el inspector de Ember, puedo ver que el nombre proviene de la plantilla groups-info, pero ¿de dónde viene el group-user-count? (no parece tener una entrada en el inspector de Ember)
Gracias. Veo que group-user-count aparece en la línea 55.
¿Esto significa que si quisiera, por ejemplo, agregar una línea justo antes de la línea group-user-count, tendría que copiar las 100 líneas completas de ese archivo index.hbs en mi código e insertarlo así: <script type="text/x-handlebars" data-template-name="groups/index">
[100 líneas aquí] </script>
¿Te refieres a cambiar el código en las salidas que lo rodean? (como componentes/group-info)
EDITO: Lo siento, confundí las plantillas con las salidas de plugin. Entiendo que las salidas de plugin son líneas en el código de Discourse (como {{plugin-outlet name="topic-above-post-stream" args=(hash model=model)}) que el equipo de Discourse ha colocado como un ancla que puedes usar para modificar el código.