前段时间把『iApp社区』改成了『有玩社区』,还把程序从flarum转到了discuz,为什么要转程序呢?因为flarum作者toby似乎已经离开了flarum的开发,以后flarum都将交给社区来维护,而最后一个版本,还是bate9。

从2014年发布的bate1到现在,五年过去了,还是没能等到一个发行版。而如今toby又离开了(Farewell and What's Next For Flarum),以后flarum还能走多远,还是个未知数。如果说这就是我选择转到discuz的理由,似乎也有点扯,比起flarum,discuz反而死的更早,自从被腾讯收购之后,就没有过什么大动静了。

尽管如此,discuz作为一个论坛程序,在国内还是比较成熟的,发展了十多年,论坛该有的功能discuz都是相对完善的,而且插件和模板也足够多,扩展性很强,这才是我选择discuz的原因。

说了这么多,只是想来记录下discuz中如何限制帖子标题字数,这个问题在flarum的时候我也已经写过一篇文章了

那么现在就来看看discuz上面怎么改吧

文件路径/static/js/forum_post.js

找到以下代码(discuz3.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;
}

需要注意的是,一个汉字占用两个字符数,嗯,就这么简单。

如果觉得我的文章对你有用,请随意赞赏