Ich versuche, eine Theme-Komponente zu erstellen, die einen benutzerdefinierten Button zu markierten Themen hinzufügt. Zum Beispiel: Themen mit dem Tag event-tag erhalten neben der Kategorie einen Button mit der Bezeichnung Event, der zur Events-Seite verlinkt.
Meine Frage ist also, wie kann ich die Liste der Tags eines Themas überprüfen, um zu sehen, ob das obige Skript einen Button hinzufügen soll oder nicht?
Ich habe festgestellt, dass, wenn ich modifyClass so verwende:
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("component:topic-category", {
didInsertElement: function() {
this._super();
console.log("Willkommen auf der Themen-Seite!")
}
});
</script>
Ich kann zur Themen-Seite gelangen und erhalte eine Antwort mit „Willkommen“, aber ich bin mir immer noch nicht sicher, wie ich die Tags der aktuellen Seite abrufen kann, um zu sehen, ob ich den Button füllen soll oder nicht.
und festgestellt, dass, wenn ich nur console.log(this) eingebe, alle Daten auf der Seite ausgegeben werden, einschließlich der Tags. Ich denke, ich kann von hier aus weitermachen, indem ich die Tag-Daten auf der Seite abrufe und prüfe, ob sie in den Einstellungen vorhanden sind oder nicht. Sobald ich dies verfeinert habe und denke, dass es für die Öffentlichkeit bereit ist, werde ich es in der Kategorie Theme-Komponenten veröffentlichen. Ich dachte nur, ich teile meine Erkenntnisse, falls jemand anderes lernt, wie man Theme-Komponenten erstellt!