Ottenere informazioni sull'argomento

Domanda da principiante: Nella vostra Guida per Sviluppatori (Developing Discourse Themes & Theme Components), spiegate come ottenere informazioni su un utente utilizzando api.getCurrentUser(); e poi console.log(user). Semplice. Tuttavia, come si ottengono informazioni simili su un argomento quando ci si trova su una pagina di argomento? Abbiamo provato getTopic(), ma tale metodo non esiste. Come si ottengono i valori disponibili per un argomento su una specifica pagina di argomento e poi si utilizza console.log per vedere cosa è disponibile da usare?

Ci sono diversi modi per farlo, ma invece di sparare nel buio e suggerire soluzioni che potrebbero non essere pertinenti, vorrei chiarire prima.

Cosa stai cercando di fare? E come?

Quello che cercavamo di ottenere era avere certi messaggi HTML da mostrare su tutto il sito, ma invece di inserirli manualmente in ogni discussione, volevamo che venissero visualizzati automaticamente in base a un tag della discussione. Abbiamo deciso di memorizzare semplicemente i messaggi e i tag nelle impostazioni e di utilizzare un widget per indirizzare i tag nelle singole discussioni in base al contenitore di Discourse. È questo il modo corretto per procedere? Quindi qualcosa del genere:

const container = Discourse.__container__;
const topicController = container.lookup("controller:topic");
tags = topicController.get("target.currentRoute.parent.attributes.tags");

Poi confrontare semplicemente i tag della discussione con quelli memorizzati nelle impostazioni e visualizzare o meno l’HTML in base al confronto.