Utiliser les informations de discourse et des calculs de base en CSS personnalisé ?

Salut à tous,

J’essaie de trouver un moyen d’afficher le nombre de sujets dans les catégories sur la page d’accueil et s’il existe un moyen de les trier davantage en fonction de leurs balises ?

Et une idée de comment faire des calculs simples en utilisant les numéros ci-dessus avec JavaScript ?

1 « J'aime »

Vous pouvez commencer par ici :

<script type="text/discourse-plugin" version="1.4.0">
    api.modifyClass("component:topic-list", {
      pluginId: "returnTopicList",
      didInsertElement: function() {
        this._super();
        console.log(this.topics);
      }
    });
</script>

Cela affichera la liste des sujets ainsi que leurs attributs (y compris les tags).
Ensuite, je suppose que vous n’avez qu’à manipuler un peu le tableau pour obtenir ce que vous voulez.

1 « J'aime »

Salut @Canapin,

Merci pour ton aide ! Je suis assez perdu avec le fonctionnement du JavaScript sur Discourse, peux-tu m’expliquer ce que cela fait/comment cela fonctionne et comment l’utiliser ?

J’ai cherché un endroit où je pourrais me familiariser avec son fonctionnement, as-tu des suggestions ?

2 « J'aime »

Pour plus de contexte, j’essaie d’obtenir le nombre de sujets dans chaque catégorie à partir de Discourse et de l’utiliser dans le tableau pour Discuss1-4. Si possible, j’aimerais également que la sous-catégorie du sujet soit triée de A à F. En fin de compte, je veux juste que cela se mette à jour dès qu’un sujet est déplacé afin de ne pas avoir à le faire manuellement.
J’espère avoir bien décrit cela et n’hésitez pas à demander des clarifications :slight_smile:

(Veuillez excuser le manque de soin du tableau)

1 « J'aime »

Je ne comprends pas très bien ce que vous voulez réaliser. Où voulez-vous que ce tableau soit affiché ? Sur une nouvelle page ou sur une page existante ?
Que signifient A B C D E F ? Que signifie Discuss 1 à 4 ? S’agit-il de catégories ?
Avez-vous besoin du nombre total de publications de chaque catégorie ?

1 « J'aime »

Ok, laissez-moi essayer de reformuler car j’ai fait une petite erreur en appelant les tags des sous-catégories.

Donc, faisons en sorte que Discuter 1-4 = Catégorie 1-4
et A-F seront pour tags

Donc, faisons comme si le tableau était vierge. Je crée un nouveau sujet sous la Catégorie 1 et j’ajoute un tag ‘A’. Maintenant, le tableau devrait montrer un seul sujet à côté de la Catégorie 1 et sous ‘A’ :

Dans le cas où je supprimerais le tag ‘A’ et assignerais le tag ‘C’, le tableau se mettrait à jour en conséquence.

Y a-t-il un moyen de faire cela ?

1 « J'aime »

Voulez-vous les informations ou les afficher sur une page Egret pour chaque utilisateur ? Si c’est le premier cas, vous pourriez vouloir le plugin Data Explorer.

2 « J'aime »

CSS est trop superficiel pour cet usage. C’est un langage de style qui aide à la mise en page et à l’apparence.

Ce que vous voulez, c’est une solution de bout en bout utilisant Rails pour calculer, résumer et sérialiser vos données, Ember JavaScript pour recevoir les données et les présenter joliment sur une route, et CSS pour les styliser selon vos besoins. Vous pourriez même utiliser la bibliothèque D3 pour créer une visualisation particulièrement agréable.

Jetez un œil à mes plugins Nuage de mots ou Visualisation réseau qui font exactement tout cela. Modifiez-les pour répondre à vos besoins.

4 « J'aime »

Je voudrais que cela s’affiche pour chaque utilisateur

1 « J'aime »

Génial ! Je vais vérifier ça.

2 « J'aime »

Salut @merefield,

Après avoir examiné ces éléments et observé leur fonctionnement à partir du lien du générateur, es-tu sûr que je pourrai simplement obtenir le nombre de sujets sous une catégorie avec ceux-ci ? Je confirme avant de l’implémenter dans mon discourse.

1 « J'aime »

Bien sûr, vous devrez créer votre propre calcul personnalisé, mais ce que j’ai partagé était un squelette approprié qui remplace toutes les parties correctes de l’architecture.

Ce que vous en faites dépend de vous…

2 « J'aime »