Es könnte einen Weg geben, dies konsistent sowohl auf Themen- als auch auf Kategorienseiten umzusetzen, aber ich habe die Kategorie-ID auf zwei verschiedene Arten erhalten – eine für Kategorienseiten:
<script type="text/discourse-plugin" version="0.8">
const container = Discourse.__container__;
const controller = container.lookup('controller:navigation/category');
api.onPageChange((url, title) => {
console.log(controller.get("category.id"));
});
</script>
und eine ähnliche Methode für Themen:
<script type="text/discourse-plugin" version="0.8">
const container = Discourse.__container__;
const controller = container.lookup('controller:topic');
api.onPageChange((url, title) => {
console.log(controller.get("model.category_id"));
});
</script>
Im Beispiel für die Kategorienseite können Sie alternativ category.name oder category.slug verwenden. Beim Themenmodell ist jedoch nur die category_id verfügbar, sodass Sie dort etwas mehr Aufwand betreiben müssten, um den Namen zu erhalten. Die ID ist ohnehin möglicherweise der bessere Weg, da sie konsistent bleibt, selbst wenn sich der Kategorienname oder der Slug ändert.