Tags am oberen Rand der Themenliste in einer Kategorie

Sie können die top_tags ganz einfach abrufen:

Importieren Sie ajax – import { ajax } from \"discourse/lib/ajax\";, dann –\u003e

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

Dies ist die general-Kategorie; Sie können dies durch eine Variable oder eine Theme-Komponenten-Einstellung ersetzen.

Wenn Sie alle Tags ungefiltert nach Kategorie anzeigen möchten, verwenden Sie /tags.json.

Um den Outlet über der Themenliste zu verwenden, lautet der Name des Outlets /javascripts/discourse/connectors/above-main-container/{name-of-your-file}.hbs. Ich empfehle Ihnen, sich anzusehen, wie dies in anderen Theme-Komponenten geschieht, und Using Plugin Outlet Connectors from a Theme or Plugin zu lesen.


Schwieriger ist es, alle Tags zu erhalten. Sie können die Datenstruktur von /c/general.json betrachten, die wie folgt aussieht. Anstatt data.topic_list.top_tags zu verwenden, könnten Sie jeden Eintrag in data.topic_list.topics durchlaufen und jeden tags für jeden topic zu einem Array hinzufügen. data.topic_list.topics.map((topic) =\u003e topic.tags);.

Ich hoffe, das hilft! :slight_smile: