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

[复制链接]
发表于 2018-5-7 12:21:04 | 显示全部楼层 |阅读模式

在玩论坛的站长朋友,每次发文章标题都受字数的限制,一直找不到解决的办法,此教程为飞凤互联源码亲自测试的经验总结,今天就分享给大家。

下面由源码专家技术分享解决标题限制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;

[color = rgb(51,102,153)!important] 复制代码

二,修改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;
  •         }

[color = rgb(51,102,153)!important] 复制代码

修改为:

  • 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;
  •         }

[color = rgb(51,102,153)!important] 复制代码


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();
  •         }

[color = rgb(51,102,153)!important] 复制代码

修改为:
  • if(theform.message.value ==''|| theform.subject.value ==''){
  •                 s ='抱歉,您尚未输入标题或内容';
  •                 theform.message.focus();
  •         } else if(mb_strlen(theform.subject.value)> 200){
  •                 s ='您的标题超过200个字符的限制';
  •                 theform.subject.focus();
  •         }

[color = rgb(51,102,153)!important] 复制代码

三,修改模板中写死的字符限制数:

1,找到文件\模板\ DEFAULT \论坛\ post_editor_extra.htm的25到33行:

  • <! -  {if $ _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} style =”width:25em“tabindex =”1“/> </ span>
  •                         <! -  {}其他 - >
  •                                 <span id =“subjecthide”class =“z”> RE:$ thread [subject] [<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 [action] =='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>
  •                 <! -  {/如果}  - >

[color = rgb(51,102,153)!important] 复制代码

修改为:

  • <! -  {if $ _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} style =”width:25em“tabindex =”1“/> </ span>
  •                         <! -  {}其他 - >
  •                                 <span id =“subjecthide”class =“z”> RE:$ thread [subject] [<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 [action] =='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>
  •                 <! -  {/如果}  - >

[color = rgb(
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>

[color = rgb(51,102,153)!important] 复制代码

修改为:
  • <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>

[color = rgb(51,102,153)!important] 复制代码


四,修改函数验证提示:

找到文件源/功能/ 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
回复

使用道具 举报

使用 高级模式(可批量传图、插入视频等)
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表