Salut, bienvenue !
Si vous voyez du vide, c’est parce que vous avez une erreur. find n’existe pas dans helper.
Vous pouvez généralement le voir dans la console du navigateur (F12).
Vous voulez probablement quelque chose comme ceci :
api.decorateWidget('post:before', (helper, args) => {
if (helper.widget.model.topic.category_id === 51) {
return helper.h("div.disclaimer", settings.MY_DISCLAIMER)
}
});
ou en utilisant du HTML brut :
const RawHtml = require("discourse/widgets/raw-html").default;
api.decorateWidget('post:before', (helper, args) => {
if (helper.widget.model.topic.category_id === 51) {
return new RawHtml({html: `<div class="container">${settings.MY_DISCLAIMER}</div>`})
}
});
Vous pouvez lire ce post expliquant comment fonctionne cette aide h.
Vous pouvez faire ce qui suit si vous souhaitez ajouter du HTML avant le contenu cuit :
api.decorateWidget('post-contents:before', (helper, args) => {
const { topic } = helper.widget.findAncestorModel();
if (topic && topic.category_id === 51) {
return helper.h("div.disclaimer", settings.MY_DISCLAIMER);
}
});