Si solo deseas agregar una clase al componente de elemento de la lista de temas, puedes hacerlo sin modificar la plantilla. Puedes usar algo como esto.
const discourseComputed = require("discourse-common/utils/decorators").default;
api.modifyClass("component:topic-list-item", {
pluginId: "add-views-class",
@discourseComputed()
unboundClassNames() {
// registra las propiedades del tema para ver con qué tienes que trabajar
console.log(this.topic);
// hereda las clases predeterminadas del núcleo y de los complementos
let classList = this._super(...arguments);
// agrega tus nuevas clases basadas en una propiedad
if (this.topic.views > 100) {
classList += " has-many-views";
}
// devuelve la classList modificada
return classList;
}
});
Luego, un poco de CSS
.has-many-views {
background: red;
}
Desafortunadamente, wiki es una propiedad a nivel de publicación, no a nivel de tema. Por lo tanto, no se agrega al modelo del elemento de la lista de temas. Puedes usar una etiqueta o crear una solicitud de función para que Discourse agregue esa clase.