完美修改Discuz! x2.5论坛标题字数(80个字符)限制长度
一个很烦人的问题,discuz!x2.5的帖子标题长度(字数)有限制,高速度
主机(www.gaosudu.com)小编从康盛官方论坛查了相关资料,是有80个字符的限制。换句话说,你在编辑帖子标题的时候,只能有80个字符,超过了就不显示了。这是一个蛋疼的问题,80个字符长度的帖子标题,怎么能满足论坛达人的需求类?如果你用的是discuz!x2.5 UTF8版本,那就更揪心了,因为utf8版本,一个汉字算3个字节,也就是26个汉字。是不是有点崩溃的感觉?还好,这种问题,不是一个人遇到,在discuz!x2.5官方论坛上,也有许多人问如何取消或加长默认标题长度。很高兴,这个问题已经有完美的解决方案,高速度
主机(www.gaosudu.com)小编这里就借花献佛,与大家共享这个案例。目的:将discuz!x2.5论坛标题长度限制80字符,增加到限制120字符。高速度
主机(www.gaosudu.com)小编温馨提示:论坛代码修改有风险,网站备份要先行。网站整站备份,请你参考:网站整站一键备份与恢复工具:要顺利完成代码的修改,一个好用工具不可少,强烈推荐使用文本编辑器(editplus),不推荐使用记事本进行编辑修改。方向:我们要把discuz!x2.5论坛标题字数(长度)限制80字符,增加到限制120字符,修改过程中,要涉及:mysql数据库、js验证文件数、修改函数验证、模版中定义的字符限制数量、语言包文件合计五个文件。同志们,工作量巨大繁琐,要仔细认真哦。我们操作前对网站进行一个整站备份是非常有必要的。把discuz!x2.5论坛标题长度限制80字符,增加到限制120字符的详细操作步骤和说明:1、Mysql数据库修改。这里我们直接执行sql查询语句来完成,请你直接把下面的sql语句直接复制,到phpmyadmin工具中的sql语句执行窗口,执行即可。如果你不知道如何登录高速度
php虚拟主机的phpmyadmin工具,请你直接点击 “phpmyadmin数据库管理工具的使用说明”查询。
ALTER TABLE `pre_forum_post` CHANGE `subject` `subject` VARCHAR(120) NOT NULL;ALTER TABLE `pre_forum_rsscache` CHANGE `subject` `subject` char(120) NOT NULL;ALTER TABLE `pre_forum_thread` CHANGE `subject` `subject` char(120) NOT NULL;
2、修改JS文件:我们要这里要修2个JS文件一个是forum_post.js和forum.js。详细修改如下:A、修改js验证字符数文件:static/js/forum_post.js使用文本编辑器editplus打开计算文件forum_post,查找定位在约77行处,做如下修改:源文件:
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) > 120) { showError('您的标题超过 120 个字符的限制'); return false; }
B、修改目录:sitatic/js/forum.js使用文本编辑器editplus打开计算文件forum.js,查找定位在约212行处,做如下修改:源代码:
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) > 120) { s = '您的标题超过 120 个字符的限制'; theform.subject.focus(); }
3、修改模版中定义的字符限制数量:在discuz!x2.5模版中,有一句代码限制了帖子标题字符数,这是我们必须要修改的,让其支持更长的帖子标题。修改文件为:post_editor_extra.htm和forumdisplay_fastpost.htmA、post_editor_extra.htm路径目录:/template/default/forum/使用文本编辑器editplus打开计算文件post_editor_extra.htm,查找定位在约28行处,做如下修改:源代码如下:
<span id="subjectchk"{if $_G[gp_action] == 'reply'} style="display:none"{/if}>{lang comment_message1}<strong id="checklen">80</strong> {lang comment_message2}</span>
修改替换为:
<span id="subjectchk"{if $_G[gp_action] == 'reply'} style="display:none"{/if}>{lang comment_message1}<strong id="checklen">120</strong> {lang comment_message2}</span>
B、forumdisplay_fastpost.htm路径目录:templatedefaultforumforumdisplay_fastpost.htm使用文本编辑器editplus打开计算文件forumdisplay_fastpost.htm,查找定位在约32行处,做如下修改:源代码:
<span>{lang comment_message1} <strong id="checklen">80</strong> {lang comment_message2}</span>
修改替换为:
<span>{lang comment_message1} <strong id="checklen">120</strong> {lang comment_message2}</span>
4、修改函数验证修改一个验证函数(function_post.php)文件,这个非常重要,这里也对帖子标题长度做了限制,我们只需要修改限制长度即可。function_post.php路径目录:source/function/function_post.php使用文本编辑器editplus打开计算文件post_editor_extra.htm,查找定位在约345行处,做如下修改:源代码:
if(dstrlen($subject) > 80) {return 'post_subject_toolong';}
修改为:if(dstrlen($subject) > 120) {return 'post_subject_toolong';}5、修改语言包当会员编辑帖子标题的时候,如果超过定义的长度,那么系统就会友好的提示您,帖子标题长度太长了,这个地方虽然不是必须的,通过前面4个地方的修改,我们已经可以达到了我们的目的了,但是为了用户体验,我们必须要继续修改Discuz!x2.5的语言包,请语言包(lang_messege.php)中关于超过标题长度的系统提示修改正确。lang_messege.php路径目录:source/language/lang_messege.php使用文本编辑器editplus打开计算文件lang_messege.php,查找定位在约988行处,做如下修改:'post_subject_toolong' => '抱歉,您的标题超过 120 个字符修改标题长度',以上操作高速度
主机(www.gaosudu.com)小编已经在discuz!x2.5 gbk 最新版本中验证通过,希望上面的操作过程,能够给你带来帮助。感谢你阅读本教程。 纯Linux环境下高端免备案
【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名
本文地址:https://www.gaosudu.com/discuz/7470.html