Discourse-Information und einfache Berechnungen in benutzerdefiniertem CSS verwenden?

Hallo zusammen,

ich versuche, eine Möglichkeit zu finden, die Anzahl der Themen in Kategorien auf der Titelseite anzuzeigen, und ob es eine Möglichkeit gibt, sie weiter nach ihren Tags zu sortieren?

Und gibt es eine Möglichkeit, einfache Mathematik mit den obigen Zahlen mit JavaScript durchzuführen?

1 „Gefällt mir“

Sie können hier beginnen:

<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>

Dies gibt die Liste der Themen sowie ihre Attribute (einschließlich Tags) aus.
Dann müssen Sie wahrscheinlich ein wenig mit dem Array jonglieren, um das zu erreichen, was Sie wollen.

1 „Gefällt mir“

Hallo @Canapin,

Danke für die Hilfe! Ich bin ziemlich ahnungslos, wie das JavaScript bei Discourse funktioniert. Kannst du erklären, was das tut/wie es funktioniert und wie man damit arbeitet?

Ich habe nach etwas gesucht, wo ich ein Gefühl dafür bekommen kann, wie es funktioniert. Hast du auch Vorschläge?

2 „Gefällt mir“

Für mehr Kontext: Ich versuche, die Anzahl der Themen in jeder Kategorie aus Discourse abzurufen und in der Tabelle für Discuss1-4 zu verwenden. Wenn möglich, möchte ich auch die Unterkategorie des Themas nach A-F sortieren. Alles in allem möchte ich, dass es sich aktualisiert, sobald ein Thema verschoben wird, damit ich es nicht manuell tun muss.
Hoffentlich habe ich das gut beschrieben und zögern Sie nicht, nach Klärungen zu fragen :slight_smile:

(Entschuldigung für die Schlampigkeit der Tabelle)

1 „Gefällt mir“

Ich verstehe nicht ganz, was Sie erreichen möchten. Wo soll diese Tabelle angezeigt werden? Auf einer neuen Seite oder einer vorhandenen Seite?
Was bedeuten A B C D E F? Was bedeutet Diskutieren 1 bis 4? Sind das Kategorien?
Benötigen Sie die Gesamtzahl der Beiträge aus jeder Kategorie?

1 „Gefällt mir“

Ok, lassen Sie mich versuchen, sie umzuformulieren, da ich einen kleinen Fehler beim Aufrufen von Tags als Unterkategorien gemacht habe.

Also, lassen Sie uns Diskutieren 1-4 = Kategorie 1-4 haben
und A-F wird für Tags sein

Also tun wir so, als wäre die Tabelle leer. Ich erstelle ein neues Thema unter Kategorie 1 und füge ein ‘A’-Tag hinzu. Jetzt sollte die Tabelle ein einzelnes Thema neben Kategorie 1 und unter ‘A’ anzeigen:

Falls ich das Tag ‘A’ entferne und das Tag ‘C’ zuweise, wird die Tabelle entsprechend aktualisiert.

Gibt es eine Möglichkeit, dies zu tun?

1 „Gefällt mir“

Möchten Sie die Informationen oder sie für jeden Benutzer auf der Egret-Seite anzeigen? Wenn ersteres, möchten Sie vielleicht das Data Explorer-Plugin.

2 „Gefällt mir“

CSS ist für diesen Zweck zu oberflächlich. Es ist eine Styling-Sprache, die bei Layout und Aussehen hilft.

Was Sie wollen, ist eine End-to-End-Lösung mit Rails zur Berechnung, Zusammenfassung und Serialisierung Ihrer Daten, Ember JavaScript zum Empfangen der Daten und deren ansprechender Darstellung auf einer Route und CSS zum gewünschten Styling. Sie könnten sogar die D3-Bibliothek verwenden, um eine besonders schöne Visualisierung zu erstellen.

Schauen Sie sich meine Plugins Word Cloud oder Network Vis an, die genau das tun. Passen Sie sie an Ihre Anforderungen an.

4 „Gefällt mir“

Ich möchte, dass es für jeden Benutzer angezeigt wird

1 „Gefällt mir“

Super! Das sehe ich mir an.

2 „Gefällt mir“

Hallo @merefield,

Nachdem ich mir das angesehen und die Funktionsweise über den Generator-Link geprüft habe, bist du sicher, dass ich mit diesen einfach die Anzahl der Themen unter einer Kategorie abrufen kann? Nur zur Bestätigung, bevor ich dies in meinen Diskurs implementiere.

1 „Gefällt mir“

Offensichtlich müssen Sie Ihre eigene benutzerdefinierte Berechnung erstellen, aber was ich geteilt habe, war ein geeignetes Grundgerüst, das alle richtigen Teile der Architektur überschreibt.

Was Sie damit machen, bleibt Ihnen überlassen …

2 „Gefällt mir“