Discuz! X3.4论坛标题字数突破80的限制解决方法
<br /><br />在玩论坛的站长朋友,每次发文章标题都受字数的限制,一直找不到解决的办法,此教程为云墨亲自测试的经验总结,今天就分享给大家。<br />下面由源码专家技术分享解决标题限制80字符方法步骤:<br />一、数据库修改;<br />二、修改JS验证字符数文件;<br />三、修改模板中写死的字符限制数;<br />四,修改函数验证文件;<br />五,修改语言包文件。<br />一、数据库修改,修改数据库标题字段的长度为200字符:运行下面的sql语句:<br />(注意修改你的表的前缀)<ol><li>ALTER TABLE `pre_forum_post` CHANGE `subject` `subject` VARCHAR(200) NOT NULL;<br /><li>ALTER TABLE `pre_forum_rsscache` CHANGE `subject` `subject` char(200) NOT NULL;<br /><li>ALTER TABLE `pre_forum_thread` CHANGE `subject` `subject` char(200) NOT NULL;</ol><br />二、修改JS验证字符数:<br />1、找到文件static/js/forum_post.js的75-81行<br /><ol><li>if(($('postsubmit').name != 'replysubmit' && !($('postsubmit').name == 'editsubmit' && !isfirstpost) && theform.subject.value == "") || !sortid && !special && trim(message) == "") {<br /><li> showError('抱歉,您尚未输入标题或内容');<br /><li> return false;<br /><li> } else if(mb_strlen(theform.subject.value) > 80) {<br /><li> showError('您的标题超过 80 个字符的限制');<br /><li> return false;<br /><li> }<br /><li></ol>修改为:<br /><ol><li>if(($('postsubmit').name != 'replysubmit' && !($('postsubmit').name == 'editsubmit' && !isfirstpost) && theform.subject.value == "") || !sortid && !special && trim(message) == "") {<br /><li> showError('抱歉,您尚未输入标题或内容');<br /><li> return false;<br /><li> } else if(mb_strlen(theform.subject.value) > 200) {<br /><li> showError('您的标题超过 200 个字符的限制');<br /><li> return false;<br /><li> }</ol><br />2、找到文件sitatic/js/forum.js的212到218行代码:<br /><ol><li>if(theform.message.value == '' || theform.subject.value == '') {<br /><li> s = '抱歉,您尚未输入标题或内容';<br /><li> theform.message.focus();<br /><li> } else if(mb_strlen(theform.subject.value) > 80) {<br /><li> s = '您的标题超过 80 个字符的限制';<br /><li> theform.subject.focus();<br /><li> }</ol>修改为:<br /><ol><li>if(theform.message.value == '' || theform.subject.value == '') {<br /><li> s = '抱歉,您尚未输入标题或内容';<br /><li> theform.message.focus();<br /><li> } else if(mb_strlen(theform.subject.value) > 80) {<br /><li> s = '您的标题超过 80 个字符的限制';<br /><li> theform.subject.focus();<br /><li> }</ol><br />三、修改模板中写死的字符限制数:<br />1、找到文件\template\default\forum\post_editor_extra.htm的25到33行:<br /><ol><li><!--{if $_GET != 'reply'}--><br /><li> <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} onkeyup="strLenCalc(this, 'checklen', 80);" style="width: 25em" tabindex="1" /></span><br /><li> <!--{else}--><br /><li> <span id="subjecthide" class="z">RE: $thread [<a href="javascript:;" onclick="display('subjecthide');display('subjectbox');$('subject').value='RE: {echo dhtmlspecialchars(str_replace('\'', '\\\'', $thread))}';display('subjectchk');strLenCalc($('subject'), 'checklen', 80);return false;">{lang modify}</a>]</span><br /><li> <span id="subjectbox" style="display:none"><input type="text" name="subject" id="subject" class="px" value="" onkeyup="strLenCalc(this, 'checklen', 80);" style="width: 25em" /></span><br /><li> <!--{/if}--><br /><li> <span id="subjectchk"{if $_GET == 'reply'} style="display:none"{/if}>{lang comment_message1} <strong id="checklen">80</strong> {lang comment_message2}</span><br /><li> <script type="text/javascript">strLenCalc($('subject'), 'checklen', 80)</script><br /><li> <!--{/if}--></ol>修改为:<br /><ol><li><!--{if $_GET != 'reply'}--><br /><li> <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} onkeyup="strLenCalc(this, 'checklen', 200);" style="width: 25em" tabindex="1" /></span><br /><li> <!--{else}--><br /><li> <span id="subjecthide" class="z">RE: $thread [<a href="javascript:;" onclick="display('subjecthide');display('subjectbox');$('subject').value='RE: {echo dhtmlspecialchars(str_replace('\'', '\\\'', $thread))}';display('subjectchk');strLenCalc($('subject'), 'checklen', 200);return false;">{lang modify}</a>]</span><br /><li> <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><br /><li> <!--{/if}--><br /><li> <span id="subjectchk"{if $_GET == 'reply'} style="display:none"{/if}>{lang comment_message1} <strong id="checklen">200</strong> {lang comment_message2}</span><br /><li> <script type="text/javascript">strLenCalc($('subject'), 'checklen', 200)</script><br /><li> <!--{/if}--></ol><br />2、找到文件\template\default\forum\forumdisplay_fastpost.htm31-32行:<ol><li><input type="text" id="subject" name="subject" class="px" value="" onkeyup="strLenCalc(this, 'checklen', 80);" tabindex="11" style="width: 25em" /><br /><li> <span>{lang comment_message1} <strong id="checklen">80</strong> {lang comment_message2}</span></ol>修改为:<br /><ol><li><input type="text" id="subject" name="subject" class="px" value="" onkeyup="strLenCalc(this, 'checklen', 200);" tabindex="11" style="width: 25em" /><br /><li> <span>{lang comment_message1} <strong id="checklen">200</strong> {lang comment_message2}</span></ol><br />四,修改函数验证提示:<br />找到文件source/function/function_post.php的361-363行:<br /><ol><li>if(dstrlen($subject) > 80) {<br /><li> return 'post_subject_toolong';<br /><li> }</ol>修改为:<br /><ol><li>if(dstrlen($subject) > 200) {<br /><li>return 'post_subject_toolong';<br /><li>}</ol><br />五、找到语言包提示文字,打开 source/language/lang_messege.php 并找到998行改为:<br /><ol><li>'post_subject_toolong' => '抱歉,您的标题超过 80 个字符修改标题长度',</ol>修改为:<br /><ol><li>'post_subject_toolong' => '抱歉,您的标题超过 200 个字符修改标题长度',</ol><br />教程已全部完成,别忘记到后台——工具——更新一下缓存。<br />下面由源码专家提供修改为做的测试效果:<br /><img id="aimg_HV7M0" onclick="zoom(this, this.src, 0, 0, 0)" class="zoom" width="600" height="250" src="http://www.yunmoseo.com/wp-content/uploads/2018/01/20180112182712.png" onmouseover="img_onmouseoverfunc(this)" onclick="zoom(this)" style="cursor:pointer" border="0" alt="" /><br /><img id="aimg_S127r" onclick="zoom(this, this.src, 0, 0, 0)" class="zoom" width="600" height="90" src="http://www.yunmoseo.com/wp-content/uploads/2018/01/20180112182801.png" onmouseover="img_onmouseoverfunc(this)" onclick="zoom(this)" style="cursor:pointer" border="0" alt="" />修改<em>, </em>align<em>, </em>标题<em>, </em>限制<em>, </em>img 感谢分享 收藏了 收藏了 ,谢谢<br /> 不错!不错! 谢谢分享,学习 感谢分享! 学到了,收藏,谢谢 感谢 学习一下 这个修改和DZ3.2的分享帖子是一样的吧? <br />http://www.discuz.net/forum.php?mod=viewthread&tid=3594800<br /><br />我这边又按照楼主的修改后,为毛要提示超过150字符??大家有这个情况嘛?不知道这个150哪里来的?语言包都没有这个150?<br /><br /><br /><img title="TIM图片20190704111122.png" id="aimg_957" aid="957" src1="static/image/common/none.gif" zoom="https://www.dismall.com/data/attachment/forum/201907/04/111303kilzhq553hp33y83.png" src="https://www.dismall.com/data/attachment/forum/201907/04/111303kilzhq553hp33y83.png" class="zoom" onclick="zoom(this, this.src, 0, 0, 0)" width="600" inpost="1" onmouseover="showMenu({'ctrlid':this.id,'pos':'12'})" /><br /> 感谢分享 收藏了
頁:
[1]