我正在尝试修改 tag-show.js 中 createTopicDisabled 的行为。但我似乎无法像在这里看到的那样覆盖它。
我尝试过像这样使用 api.modifyClass() 和 api.modifyClassStatic():
api.modifyClass("controller:tag-show", {
@discourseComputed(
"canCreateTopic",
"category",
"canCreateTopicOnCategory",
"tag",
"canCreateTopicOnTag")
createTopicDisabled(
canCreateTopic,
category,
canCreateTopicOnCategory,
tag,
canCreateTopicOnTag)
{
return false;
}
})
还有这种:
api.modifyClass("controller:tag-show", {
createTopicDisabled: function() { return false; }
})
以及各种其他变体。
我还尝试获取默认控制器并重新打开它,这在覆盖 actions 时工作正常。
const TagShowController = require('discourse/controllers/tag-show').default;
TagShowController.reopen({
createTopicDisabled: function() {
return false;
}
})
到目前为止,这些方法都没有真正生效。任何帮助都将不胜感激。