修改discuz X3.2论坛标题80个字符的长度限制
时间:2022年07月21日
/来源:网络
/编辑:佚名
关于discuz论坛标题限制80个字符的修改,我已经修改很多次了,但是每次都是去乱找,看网上的,因为这个修改的文件比较多,这一次为了不以后还麻烦,干脆自己也记录一下吧。

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;

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

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

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

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;

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

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

7:语言包也还是修改下,在source/language/lang_messege.php里面
'post_subject_toolong' => '抱歉,您的标题超过 80 个字符修改标题长度',
修改为
'post_subject_toolong' => '抱歉,您的标题超过 200 个字符修改标题长度',
8:最后更新下缓存就行,后面几个文件都是把数字80缓存200,你直接换也行,批量换代码也行。
新闻资讯 更多
- 【discuz教程】zblog数据迁移到discuz论坛帖子方法03-05
- 【discuz教程】Discuz!开发手册02-08
- 【discuz教程】Discuz文件结构和discuz模板文件介绍10-12
- 【discuz教程】Discuz启用与关闭水贴不能参加回帖投票功能08-26
- 【discuz教程】Discuz! ML远程代码执行(CVE-2019-13956)06-11
- 【discuz教程】如何解决Discuz的密码错误次数过多请15分钟后登陆的问题08-14
- 【discuz教程】discuz更换域名后UCenter出现“通信失败”的解决方法08-14
- 【discuz教程】Discuz网站如何更换域名?08-14
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法