Discuz 3.4
执行sql语句前,最好先备份下数据库:
1 |
# mysqldump -u root -p Discuz > Discuz.sql |
(Discuz表示Discuz所使用的数据库名,Discuz.sql是备份出来的文件)
登陆mysql:
1 |
# mysql -u root -p |
(如果mysql的root账号没有设置密码,在提示输入密码的时候,直接回车即可。)
切换到Discuz所使用的数据库:
1 |
MariaDB [(none)]> use Discuz; |
执行以下3条sql语句,修改为180个字符的限制:
1 |
MariaDB [Discuz]> ALTER TABLE `pre_forum_post` CHANGE `subject` `subject` VARCHAR(180) NOT NULL;
MariaDB [Discuz]> ALTER TABLE `pre_forum_rsscache` CHANGE `subject` `subject` char(180) NOT NULL;
MariaDB [Discuz]> ALTER TABLE `pre_forum_thread` CHANGE `subject` `subject` char(180) NOT NULL; |
注意:MariaDB [Discuz]> 是提示符,输入sql语句的时候不要将其输入。
修改JS验证字符数,先备份文件:
1 |
# cp 网站目录/static/js/forum_post.js 网站目录/static/js/forum_post.js_bak |
1 |
# vi 网站目录/static/js/forum_post.js |
查找到以下字符
1 |
else if(mb_strlen(theform.subject.value) > 180) {
showError('您的标题超过 180 个字符的限制');
return false; |
把80改成180(标红色的字符)。保存文件,退出。
修改JS验证字符数,备份文件:
1 |
# cp 网站目录/static/js/forum.js 网站目录/static/js/forum.js_bak |
1 |
# vi 网站目录/static/js/forum.js |
查找到如下内容:
1 |
theform.message.focus();
} else if(mb_strlen(theform.subject.value) > 180) {
s = '您的标题超过 180 个字符的限制';
theform.subject.focus(); |
把80改成180(标红色的字符)。保存文件,退出。
修改模板中字符限制数,先备份文件:
1 |
# cp 网站目录/template/default/forum/post_editor_extra.htm 网站目录/template/default/forum/post_editor_extra.htm_bak |
编辑post_editor_extra.htm文件:
1 |
<# vi 网站目录/template/default/forum/post_editor_extra.htm |
替换所有的80为180,保存文件,退出。
修改模板中字符限制数,备份文件:
1 |
# cp 网站目录/template/default/forum/forumdisplay_fastpost.htm 网站目录/template/default/forum/forumdisplay_fastpost.htm_bak |
编辑forumdisplay_fastpost.htm文件:
1 |
# vi 网站目录/template/default/forum/forumdisplay_fastpost.htm |
替换所有的80为180,保存文件,退出。
修改函数验证提示,备份文件:
1 |
# cp 网站目录/source/function/function_post.php 网站目录/source/function/function_post.php_bak |
编辑function_post.php文件:
1 |
# vi 网站目录/source/function/function_post.php |
查找到以下字符:
1 |
if(dstrlen($subject) > 180) {
return 'post_subject_toolong'; |
把80改成180(标红色的字符)。保存文件,退出。
找到语言包提示文字,备份文件:
1 |
# cp 网站目录/source/language/lang_message.php 网站目录/source/language/lang_message.php_bak |
编辑lang_message.php文件:
1 |
# vi 网站目录/source/language/lang_message.php |
查找到如下内容:
1 |
'post_subject_toolong' => '抱歉,您的标题超过 180 个字符修改标题长度',
把80改成180(标红色的字符)。保存文件,退出。 |
打开Discuz主页,以管理员(admin)身份登陆。点击页面右上方的 管理中心:
输入管理员的账号密码,进入管理中心,点击 工具-更新缓存-确定。如下图所示:
然后重启浏览器,即可生效。