Discuz X3.4论坛网站帖子标题字数限制80字符,当我们想使用长标题的时候就得一删再删,实在是烦人,今天飞飞和你们分享Discuz论坛修改发帖标题字数的方法,总共需要修改5处代码,我修改的是限制200个字符,可以根据自己的要求修改,在修改前请备份好网站和数据库的数据,以免出现失误。
首先我们要修改数据库的代码,打开管理中心——站长——数据库——升级,我们可以看到提示默认情况下是禁止SQL语句直接执行的,只能使用常用SQL升级语句的内容,如果是要自己写SQL升级语句,需要将config/config_global.php 当中的 $_config[admincp][runquery]
设置修改为 1。
我们根据提示直接去网站根目录检索config/config_global.php (包含子目录),打开文件,然后找到$_config[admincp][runquery]
,将后面的数值0,改为1,保存。
开启自定义后,我们将以下代码输入内容框中,不勾选【转换建表语句格式和字符集】,然后点击提交,第一步就完成了。
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;
JS文件有2个需要修改的地方,首先直接在网站根目录中检索forum_post.js,文件具体路径static/js/forum_post.js,打开文件,在约80行,可以看到如下代码:
else if(mb_strlen(theform.subject.value) > 80) {
showError('您的标题超过 80 个字符的限制');
return false;
}
将代码中的两个80,修改为200,修改好后保存。
然后修改第二处,在网站根目录中检索forum.js,文件具体路径sitatic/js/forum.js,打开文件,在约240行,可以看到如下代码:
else if(mb_strlen(theform.subject.value) > 80) {
s = '您的标题超过 80 个字符的限制';
theform.subject.focus();
}
将代码中的两个80,修改为200,然后保存,两处JS文件就修改好了。
有两处地方需要修改,并且代码比较多,小心误删
首先在网站根目录中检索post_editor_extra.htm,文件具体路径:/template/default/forum/post_editor_extra.htm,打开文件直接检索80,我们可以检索出5个80,除了第一个80不修改,另外的4个80都要修改为200。注意:不修改的代码如下:
<select name="typeid" id="typeid" width="80">
修改的4处可以参考下图,修改好后保存。
然后修改第二处,在网站根目录中直接检索forumdisplay_fastpost.htm,文件具体路径/template/default/forum/forumdisplay_fastpost.htm ,打开文件直接检索80,有4个80,除了第一个和最后一个80不修改,另外两个80修改为200。
可以参考下图,修改好后保存。
打开source/function/function_post.php文件,直接检索80,可以看到如下代码:
if(dstrlen($subject) > 80) {return ‘post_subject_toolong’;}
将代码中的80修改为200,修改好后保存。就剩下最后一处了。
打开source/language/lang_messege.php文件,直接检索80,可以看到如下代码:
‘post_subject_toolong’ => ‘抱歉,您的标题超过 80 个字符修改标题长度’
将代码中的80修改为200,保存。
修改后要更新缓存,进入管理中心——工具——更新缓存,然后点击【确定】即可。