Variablen für 'Neues Thema' ändern

Ich versuche, das Verhalten von createTopicDisabled in tag-show.js zu ändern. Ich kann nicht verstehen, wie ich dies überschreiben kann, wie ich es hier gesehen habe.


Ich habe versucht, api.modifyClass() und api.modifyClassStatic() wie folgt zu verwenden:

api.modifyClass("controller:tag-show", {
    @discourseComputed(
        "canCreateTopic",
        "category",
        "canCreateTopicOnCategory",
        "tag",
        "canCreateTopicOnTag")
    createTopicDisabled(
        canCreateTopic,
        category,
        canCreateTopicOnCategory,
        tag,
        canCreateTopicOnTag)
    {
        return false;
    }
})

Und dies:

api.modifyClass("controller:tag-show", {
    createTopicDisabled: function() { return false; }
)

Und verschiedene andere Varianten.


Ich habe auch versucht, den Standard-Controller zu laden und ihn erneut zu öffnen, was bei der Überschreibung von Aktionen gut funktioniert hat.

const TagShowController = require('discourse/controllers/tag-show').default;
TagShowController.reopen({
    createTopicDisabled: function() {
        return false;
    }
})

Bisher hat nichts davon wirklich funktioniert. Jede Hilfe wäre sehr willkommen.

1 „Gefällt mir“