「新規トピック」に関連する変数の変更

tag-show.jscreateTopicDisabled の動作を変更しようとしています。ここで見たように、これを上書きする方法が見つかりません。


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;
    }
})

現時点では、これらはいずれもうまくいきませんでした。ご助力いただければ幸いです。

「いいね!」 1