얼마 전 「iApp 커뮤니티」를 「有玩社区」로 바꾸고, 프로그램도 Flarum에서 Discuz로 이전했습니다. 왜 프로그램을 바꿨을까요? Flarum의 개발자 Toby가 이미 Flarum 개발을 떠난 것 같기 때문입니다. 앞으로 Flarum은 커뮤니티에서 유지 관리하게 될 것이며, 마지막 버전도 여전히 Beta 9입니다.

2014년에 Beta 1이 출시된 후 지금까지 5년이 지났지만, 아직도 정식 버전을 기다리지 못했습니다. 그런데 이제 Toby도 떠났으니(Farewell and What's Next For Flarum), 앞으로 Flarum이 얼마나 더 나아갈 수 있을지는 여전히 미지수입니다. 이것이 제가 Discuz로 이전한 이유라고 한다면, 조금 억지스러운 것 같기도 합니다.

Flarum과 비교하면 Discuz는 오히려 더 일찍 죽었습니다. 텐센트에 인수된 이후로는 별다른 큰 움직임이 없었습니다.

그럼에도 Discuz는 포럼 프로그램으로서 중국 내에서는 비교적 성숙한 편입니다. 10년 넘게 발전해 왔고, 포럼에 필요한 기능은 Discuz에 비교적 잘 갖추어져 있으며, 플러그인과 템플릿도 충분히 많아 확장성이 뛰어납니다. 이것이 제가 Discuz를 선택한 이유입니다.

이렇게 많은 이야기를 한 것은 단지 Discuz에서 게시물 제목 글자 수를 제한하는 방법을 기록해 두고 싶었기 때문입니다. 이 문제는 Flarum을 사용하던 때에도 이미 글로 작성한 적이 있습니다.

{cat_insidepost id="115"}

그럼 이제 Discuz에서 어떻게 수정하는지 살펴보겠습니다.

파일 경로 /static/js/forum_post.js

다음 코드를 찾습니다(Discuz 3.4라면 대략 75번째 줄에 있습니다):

if(($('postsubmit').name != 'replysubmit' && !($('postsubmit').name == 'editsubmit' && !isfirstpost) && theform.subject.value == "") || !sortid && !special && trim(message) == "") {
    showError('抱歉,您尚未输入标题或内容');
    return false;
} else if(mb_strlen(theform.subject.value) > 80) {
    showError('您的标题超过 80 个字符的限制');
    return false;
}

아래에 다음을 추가합니다:

else if(mb_strlen(theform.subject.value) < 20 && mb_strlen(theform.subject.value) > 0) {
    showError('您的标题不足 20 个字符的限制');
    return false;
}

주의할 점은 한자가 글자 수 두 개를 차지한다는 것입니다. 네, 이게 전부입니다.