Hallo, willkommen zurück!
Wenn Sie etwas Leeres sehen, liegt das an einem Fehler. find existiert nicht in helper.
Das können Sie normalerweise in der Browserkonsole (F12) sehen.
Sie wollen wahrscheinlich so etwas:
api.decorateWidget('post:before', (helper, args) => {
if (helper.widget.model.topic.category_id === 51) {
return helper.h("div.disclaimer", settings.MY_DISCLAIMER)
}
});
oder mit rohem HTML:
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>`})
}
});
Sie können diesen Beitrag lesen, der erklärt, wie dieser h-Helfer funktioniert.
Sie können Folgendes tun, wenn Sie HTML vor dem gekochten Inhalt hinzufügen möchten:
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);
}
});