‘새 주제’ 관련 변수 수정

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

그리고 다양한 다른 변형도 시도해 보았습니다.


기본 컨트롤러를 가져와 다시 열기(reopen)하는 방식도 시도해 보았는데, 액션을 오버라이드할 때는 잘 작동했습니다.

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

아직까지 이 중 어느 것도 실제로 작동하지 않았습니다. 도움을 주시면 감사하겠습니다.

1개의 좋아요