答案库

discuz标题怎么突破80个字符的长度限制

Discuz教程时间:9个月前阅读:174

discuz论坛标题限制80个字符的修改,我已经修改很多次了,但是每次都是去乱找,看网上的,因为这个修改的文件比较多,还是没有找到正确的方法,这个要怎么操作?

最佳回答

答案

答案

推荐于:9个月前

在修改网站之前,记得先要备份好网站还有数据库资料,每修改一个文件,都备份备注出来。

1:修改数据库,需要执行sql语句

数据表前缀要和你的一致,有的人在安装论坛的时候,会修改这个。

ALTER TABLE `pre_forum_post` CHANGE `subject` `subject` VARCHAR(200) NOT NULL;

ALTER TABLE `pre_forum_rsscache` CHANGE `subject` `subject` char(200) NOT NULL;

ALTER TABLE `pre_forum_thread` CHANGE `subject` `subject` char(200) NOT NULL;

image.png

2:修改js验证文件,找到static/js/forum_post.js文件,在里面找下下面这一段,
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;}
修改为
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) > 200) {showError('您的标题超过 200 个字符的限制');return false;}

image.png

3:还是修改js文件,找到sitatic/js/forum.js文件,里面也有差不多的一段
if(theform.message.value == '' || theform.subject.value == '') {s = '抱歉,您尚未输入标题或内容';theform.message.focus();} else if(mb_strlen(theform.subject.value) > 80) {s = '您的标题超过 80 个字符的限制';theform.subject.focus();}
修改为
if(theform.message.value == '' || theform.subject.value == '') {s = '抱歉,您尚未输入标题或内容';theform.message.focus();} else if(mb_strlen(theform.subject.value) > 200) {s = '您的标题超过 200 个字符的限制';theform.subject.focus();}
4:修改模版文件,找到template\default\forum\post_editor_extra.htm文件,
除了第一个80,其他全部换成200.
5:还是修改程序文件,找到template\default\forum\forumdisplay_fastpost.htm这里面也要修改
除了第一个和最后一个80,其他全部换成200. 
6:修改验证函数文件,找到source/function/function_post.php文件
if(dstrlen($subject) > 80) {return 'post_subject_toolong';}
修改为
if(dstrlen($subject) > 200) {return 'post_subject_toolong';}

image.png

7:语言包也还是修改下,在source/language/lang_messege.php里面

'post_subject_toolong' => '抱歉,您的标题超过 80 个字符修改标题长度',
修改为
'post_subject_toolong' => '抱歉,您的标题超过 200 个字符修改标题长度',
8:最后更新下缓存就行,后面几个文件都是把数字80缓存200,你直接换也行,批量换代码也行。


上一篇:Discuz提示Can not write to cache files怎么办

下一篇:Discuz标题上的Powered by Discuz要怎么去除

源码下载

我来回答

关注我们

qrcode

扫一扫二维码关注我们的微信公众号