我多次修改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;}还是修改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,你直接换也行,批量换代码也行。