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 ?
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 ! ![]()