こんにちは、おかえりなさい!
空白が表示される場合は、エラーが発生しています。helper には find が存在しません。
通常、これはブラウザのコンソール(F12)で確認できます。
おそらく、次のようなものが必要でしょう。
api.decorateWidget('post:before', (helper, args) => {
if (helper.widget.model.topic.category_id === 51) {
return helper.h("div.disclaimer", settings.MY_DISCLAIMER)
}
});
または、生の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>`})
}
});
この h ヘルパーがどのように機能するかを説明しているこちらの投稿を読むことができます。
調理済みコンテンツの前にHTMLを追加したい場合は、次のようにします。
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);
}
});