美文网首页
Discuz!X3.2论坛标题字数突破80的限制解决方法

Discuz!X3.2论坛标题字数突破80的限制解决方法

作者: 7f4cf71ba8f6 | 来源:发表于2018-10-22 02:33 被阅读95次

    本教程同样适用于Discuz!X3.3

    搞定方式步骤

    1、数据库修正;

    二、修正JS验证字符数文件;

    3、修正模板中写死的字符限定数;

    4、修正函数验证文件;

    5、修正言语包文件。

    数据库修正

    修正数据库题目字段的长度为200字符:启动下面的sql语句(注意修正伏笔科技的表的前缀):

    注:操作前肯定备份数据

    =代码开始code by FubiHost=

    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验证字符数

    1、找到文件static/js/forum_post.js的75-81行

    本来文件限定是80,我改成200,以下全部变动都为200,你能改成伏笔科技想要的数字,但变动文件数字肯定要全部一样

    =代码开始code by FubiHost=

    != '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;

    }

    2、找到文件sitatic/js/forum.js的212到218行代码:

    =代码开始code by FubiHost=

    == '' || theform.subject.value == '') {

    s = '抱歉,您尚未输入题目或内容';

    theform.message.focus();

    } else if(mb_strlen(theform.subject.value) > 200) {

    s = '您的题目超越 200 个字符的限定';

    theform.subject.focus();

    }

    修正模板中写死的字符限定数

    1、找到文件\template\default\forum\post_editor_extra.htm的25到33行:

    =代码开始code by FubiHost=

    $_GET[action] != 'reply'}-->

    <span><input type="text" name="subject" id="subject" class="px" value="$postinfo[subject]" {if $_GET[action] == 'newthread'}onblur="if($('tags')){relatekw('-1','-1'{if $_G['group']['allowposttag']},function(){extraCheck(4)}{/if});doane();}"{/if} onkeyup="strLenCalc(this, 'checklen', 200);" style="width: 25em" tabindex="1" /></span>

    <!--{else}-->

    <span id="subjecthide" class="z">RE: $thread[subject] [<a href="javascript:;" onclick="display('subjecthide');display('subjectbox');return false;">{lang modify}</a>]</span>

    <span id="subjectbox" style="display:none"><input type="text" name="subject" id="subject" class="px" value="" onkeyup="strLenCalc(this, 'checklen', 200);" style="width: 25em" /></span>

    <!--{/if}-->

    <span id="subjectchk"{if $_GET[action] == 'reply'} style="display:none"{/if}>{lang comment_message1} <strong id="checklen">200</strong> {lang comment_message2}</span>

    <!--{/if}-->

    2、找到文件\template\default\forum\forumdisplay_fastpost.htm31-32行:

    =代码开始code by FubiHost=

    id="subject" name="subject" class="px" value="" onkeyup="strLenCalc(this, 'checklen', 200);" tabindex="11" style="width: 25em" />

    <span>{lang comment_message1} <strong id="checklen">200</strong> {lang comment_message2}</span>

    修正函数验证文件

    1、找到文件source/function/function_post.php的361-363行:

    =代码开始code by FubiHost=

    > 200) {

    return 'post_subject_toolong';

    }

    修正言语包文件

    1、open source/language/lang_messeage.php 找到998行:

    =代码开始code by FubiHost=

    => '抱歉,您的题目超越 200 个字符修正题目长度',

    教程已全部完成,别忘却到后台——工具——更新一下缓存。

    本文转载修正自:源码专家

    相关文章

      网友评论

          本文标题:Discuz!X3.2论坛标题字数突破80的限制解决方法

          本文链接:https://www.haomeiwen.com/subject/ndhwzftx.html