您好,欢迎回来!
如果看到空白,那是因为您遇到了错误。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);
}
});