Potrebbe esserci un modo per farlo in modo coerente sia nelle pagine degli argomenti che in quelle delle categorie, ma ho ottenuto l’ID della categoria in due modi diversi… uno per le pagine delle categorie:
<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>
e un modo simile per le pagine degli argomenti:
<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>
Nell’esempio della pagina della categoria, in alternativa, puoi usare category.name o category.slug, ma con il modello dell’argomento è disponibile solo category_id, quindi dovresti fare un po’ più di lavoro lì per ottenere il nome. L’ID potrebbe comunque essere un percorso migliore perché è coerente anche se il nome o lo slug della categoria cambiano.