ffssfs 发表于 2018-5-7 12:21:04

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

在玩论坛的站长朋友,每次发文章标题都受字数的限制,一直找不到解决的办法,此教程为飞凤互联源码亲自测试的经验总结,今天就分享给大家。下面由源码专家技术分享解决标题限制80字符方法步骤:一,数据库修改;二,修改JS验证字符数文件;三,修改模板中写死的字符限制数;四,修改函数验证文件;五,修改语言包文件。一,数据库修改,修改数据库标题字段的长度为200字符:运行下面的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;

复制代码
二,修改JS验证字符数:1,找到文件静态/ JS / forum_post.js的75-81行
[*]if(($('postsubmit')。name!='replysubmit'&&!($('postsubmit')。name =='editsubmit'&&!isfirstpost)&& theform.subject.value ==“”)||! sortid &&!special && trim(message)==“”){
[*]                showError( '抱歉,您尚未输入标题或内容');
[*]                返回false;
[*]      } else if(mb_strlen(theform.subject.value)> 80){
[*]                showError('您的标题超过80个字符的限制');
[*]                返回false;
[*]      }

复制代码
修改为:
[*]if(($('postsubmit')。name!='replysubmit'&&!($('postsubmit')。name =='editsubmit'&&!isfirstpost)&& theform.subject.value ==“”)||! sortid &&!special && trim(message)==“”){
[*]                showError( '抱歉,您尚未输入标题或内容');
[*]                返回false;
[*]      } else if(mb_strlen(theform.subject.value)> 200){
[*]                showError('您的标题超过200个字符的限制');
[*]                返回false;
[*]      }

复制代码

2,找到文件sitatic / JS / forum.js的212到218行代码:
[*]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();
[*]      }

复制代码
三,修改模板中写死的字符限制数:1,找到文件\模板\ DEFAULT \论坛\ post_editor_extra.htm的25到33行:
[*]<! -{if $ _GET !='reply'}- >
[*]                              <span> <input type =“text”name =“subject”id =“subject”class =“px”value =“$ postinfo ”{if $ _GET =='newthread'} onblur =“ if($('tags')){relatekw(' -1',' -1'{if $ _G ['group'] ['allowposttag']},function(){extraCheck(4)} {/ if} ); doane();}“{/ if} style =”width:25em“tabindex =”1“/> </ span>
[*]                        <! -{}其他 - >
[*]                              <span id =“subjecthide”class =“z”> RE:$ thread [<a href="javascript:;"> {lang modify} </a>] </ span>
[*]                              <span id =“subjectbox”style =“display:none”> <input type =“text”name =“subject”id =“subject”class =“px”value =“”style =“width:25em”/> </跨度>
[*]                        <! -{/如果}- >
[*]                        <span id =“subjectchk”{if $ _GET =='reply'} style =“display:none”{/ if}> {lang comment_message1} <strong id =“checklen”> 80 </ strong> { lang comment_message2} </ span>
[*]                        <script type =“text / javascript”> strLenCalc($('subject'),'checklen',80)</ script>
[*]                <! -{/如果}- >

复制代码
修改为:
[*]<! -{if $ _GET !='reply'}- >
[*]                              <span> <input type =“text”name =“subject”id =“subject”class =“px”value =“$ postinfo ”{if $ _GET =='newthread'} onblur =“ if($('tags')){relatekw(' -1',' -1'{if $ _G ['group'] ['allowposttag']},function(){extraCheck(4)} {/ if} ); doane();}“{/ if} style =”width:25em“tabindex =”1“/> </ span>
[*]                        <! -{}其他 - >
[*]                              <span id =“subjecthide”class =“z”> RE:$ thread [<a href="javascript:;"> {lang modify} </a>] </ span>
[*]                              <span id =“subjectbox”style =“display:none”> <input type =“text”name =“subject”id =“subject”class =“px”value =“”style =“width:25em”/> </跨度>
[*]                        <! -{/如果}- >
[*]                        <span id =“subjectchk”{if $ _GET =='reply'} style =“display:none”{/ if}> {lang comment_message1} <strong id =“checklen”> 200 </ strong> { lang comment_message2} </ span>
[*]                        <script type =“text / javascript”> strLenCalc($('subject'),'checklen',200)</ script>
[*]                <! -{/如果}- >

51,102,153 )!important] 复制代码

2,找到文件\ template \ default \ forum \ forumdisplay_fastpost.htm31-32行:
[*]<input type =“text”id =“subject”name =“subject”class =“px”value =“”tabindex =“11”style =“width:25em”/>
[*]                              <span> {lang comment_message1} <strong id =“checklen”> 80 </ strong> {lang comment_message2} </ span>

复制代码
修改为:

[*]<input type =“text”id =“subject”name =“subject”class =“px”value =“”tabindex =“11”style =“width:25em”/>
[*]                              <span> {lang comment_message1} <strong id =“checklen”> 200 </ strong> {lang comment_message2} </ span>

复制代码

四,修改函数验证提示:找到文件源/功能/ function_post.php的361-363行:
[*]if(dstrlen($ subject)> 80){
[*]                返回'post_subject_toolong';
[*]      }

复制代码
修改为:
[*]if(dstrlen($ subject)> 200){
[*]返回'post_subject_toolong';
[*]}

复制代码

五,找到语言包提示文字,打开source / language / lang_messege.php并找到998行改为:
[*]'post_subject_toolong'=>'抱歉,您的标题超过80个字符修改标题长度',

代码复制
修改为:

[*]'post_subject_toolong'=>'抱歉,您的标题超过200个字符修改标题长度',

复制代码
教程已全部完成,别忘记到后台 - 工具 - 更新一下缓存。
下面由飞凤互联源码提供修改为做的测试效果:https://bbs.oh27.com/thread-453-1-1.html
页: [1]
查看完整版本: Discuz! X3.4论坛标题字数突破80的限制解决方法