Balises en haut de la liste des sujets dans une catégorie

Salut à tous,

J’ai beaucoup appris en utilisant les modèles, les points de sortie de plugin et toute la merveilleuse magie de Discourse. Est-il possible de lister toutes les balises utilisées dans une catégorie en haut de la liste des sujets ?

Je peux plus ou moins y parvenir avec : Discourse Popular Tag Sidebar

Je vais voir ce que je peux apprendre.

Vous pouvez obtenir facilement les top_tags :

Importez ajax – import { ajax } from \"discourse/lib/ajax\"; , puis –\u003e

ajax(`/c/general.json`).then((data) =\u003e {
  console.log(data.topic_list.top_tags);
});

Ceci est la catégorie general ; vous pouvez la remplacer par une variable ou un paramètre de composant de thème.

Si vous voulez afficher toutes les balises sans filtre par catégorie, utilisez /tags.json.

Pour utiliser la sortie au-dessus de la liste des sujets, le nom de la sortie est /javascripts/discourse/connectors/above-main-container/{nom-de-votre-fichier}.hbs. Je vous recommande de voir comment cela est fait dans d’autres composants de thème et de lire Using Plugin Outlet Connectors from a Theme or Plugin.


Il est plus difficile d’obtenir toutes les balises. Vous pouvez examiner la structure des données de /c/general.json, qui ressemble à ceci. Au lieu de faire data.topic_list.top_tags, vous pourriez itérer sur chaque élément de data.topic_list.topics et ajouter chaque tags pour chaque topic à un tableau. data.topic_list.topics.map((topic) =\u003e topic.tags);.

J’espère que cela vous aidera ! :slight_smile: