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; }
)
他にもいくつかの変種を試しました。
また、デフォルトのコントローラーを取得して再オープンする方法も試しました。アクションを上書きする際には正常に機能しました。
const TagShowController = require('discourse/controllers/tag-show').default;
TagShowController.reopen({
createTopicDisabled: function() {
return false;
}
})
現時点では、これらはいずれもうまくいきませんでした。ご助力いただければ幸いです。