可能很多使用DISCUZ! X 平台朋友,发现一个问题就是发帖的标题被限制为80个字符。且也没办法修改长度,今天这里给大家介绍个方法,希望对大家有帮助。
以下以Discuz! X3.4为例
将下面代码中的默认 80 修改为 130 。
操作方法
第一步:修改JS验证字符数文件
找到文件 static/js/forum_post.js X3.4 是第 78 、79 行
以下代码修改后 78 - 79 行
} else if(mb_strlen(theform.subject.value) > 130) {
showError('您的标题超过 130 个字符的限制');
保存文件上传覆盖原文件
第二步:数据库修改在 数据库执行
ALTER TABLE `pre_forum_post` CHANGE `subject` `subject` VARCHAR(130) NOT NULL;
ALTER TABLE `pre_forum_rsscache` CHANGE `subject` `subject` char(130) NOT NULL;
ALTER TABLE `pre_forum_thread` CHANGE `subject` `subject` char(130) NOT NULL;
第三步:修改模板中写死的字符限制数
找到文件 \template\default\forum\post_editor_extra.htm
X3.4 是第 26、29、31、32 行 共4处
以下代码修改后 21 - 33 行
<div class="z">
<!--{if $_GET[action] == 'reply' && !empty($_GET['addtrade']) || $_GET[action] == 'edit' && $thread['special'] == 2 && !$postinfo['first']}-->
<input name="subject" type="hidden" value="" />
<!--{else}-->
<!--{if $_GET[action] != 'reply'}-->
<span><input type="text" name="subject" id="subject" class="px" value="$postinfo[subject]" onkeyup="strLenCalc(this, 'checklen', 130);" 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', 130);" style="width: 25em" /></span>
<!--{/if}-->
<span id="subjectchk"{if $_GET[action] == 'reply'} style="display:none"{/if}>{lang comment_message1} <strong id="checklen">130</strong> {lang comment_message2}</span>
<script type="text/javascript">strLenCalc($('subject'), 'checklen', 130)</script>
<!--{/if}-->
找到文件 \template\default\forum\forumdisplay_fastpost.htm
X3.4 是第31、32 行,共2处
以下代码修改后 31 - 32 行
<input type="text" id="subject" name="subject" class="px" value="" onkeyup="strLenCalc(this, 'checklen', 130);" tabindex="11" style="width: 25em" />
<span>{lang comment_message1} <strong id="checklen">130</strong> {lang comment_message2}</span>
第四步:修改函数验证文件
找到文件 /source/function/function_post.php X3.4 是第 361 行,共1处
以下代码修改后 361 行
if(dstrlen($subject) > 130) {
第五步:修改语言包文件
找到文件 /source/language/lang_message.php X3.4 是第 998 行,共1处
以下代码修改后 998 行
'post_subject_toolong' => '抱歉,您的标题超过 130 个字符修改标题长度',
懒人包:
懒人包中已备份源文件,可以尽情覆盖。
最后进入discuz的后台->工具->更新缓存
这是评论测试
飞歌导航东方红烦得很
这是新的一条评论
未来一年,中国的移动支付市场会是什么样?