Hola a todos,
He aprendido mucho usando plantillas, conectores de complementos y toda la maravillosa magia de Discourse. ¿Es posible enumerar todas las etiquetas utilizadas en una categoría en la parte superior de la lista de temas allí?
Hola a todos,
He aprendido mucho usando plantillas, conectores de complementos y toda la maravillosa magia de Discourse. ¿Es posible enumerar todas las etiquetas utilizadas en una categoría en la parte superior de la lista de temas allí?
Puedo lograr esto más o menos con: Discourse Popular Tag Sidebar
Veré qué puedo aprender.
Puedes obtener las top_tags fácilmente:
Importa ajax – import { ajax } from \"discourse/lib/ajax\";, luego →
ajax(`/c/general.json`).then((data) => {
console.log(data.topic_list.top_tags);
});
Esta es la categoría general; puedes reemplazarla con una variable o una configuración de componente temático.
Si deseas mostrar todas las etiquetas sin filtrar por categoría, usa /tags.json.
Para usar el outlet encima de la lista de temas, el nombre del outlet es /javascripts/discourse/connectors/above-main-container/{nombre-de-tu-archivo}.hbs. Te recomiendo ver cómo se hace esto en otros componentes temáticos y leer Using Plugin Outlet Connectors from a Theme or Plugin.
Es más difícil obtener todas las etiquetas. Puedes ver la estructura de datos de /c/general.json, que se ve así. En lugar de usar data.topic_list.top_tags, podrías iterar cada uno en data.topic_list.topics y agregar cada tags de cada topic a un array. data.topic_list.topics.map((topic) => topic.tags);.
¡Espero que esto ayude! ![]()