Se desideri aggiungere una classe solo al componente degli elementi dell’elenco degli argomenti, puoi farlo senza modificare il template. Puoi utilizzare qualcosa di simile a questo.
const discourseComputed = require("discourse-common/utils/decorators").default;
api.modifyClass("component:topic-list-item", {
pluginId: "add-views-class",
@discourseComputed()
unboundClassNames() {
// registra le proprietà dell'argomento per vedere con cosa hai a che fare
console.log(this.topic);
// eredita le classi predefinite dal core e dai plugin
let classList = this._super(...arguments);
// aggiungi le tue nuove classi in base a una proprietà
if (this.topic.views > 100) {
classList += " has-many-views";
}
// restituisce la classList modificata
return classList;
}
});
Quindi un po’ di CSS
.has-many-views {
background: red;
}
Purtroppo, wiki è una proprietà a livello di post, non a livello di argomento. Quindi, non viene aggiunta al modello dell’elemento dell’elenco degli argomenti. Puoi utilizzare un tag o creare una richiesta di funzionalità per Discourse per aggiungere quella classe.