Discuz! X2.5论坛标题字数突破80的限制实现思路

Discuz! X2.5论坛标题字数突破80的限制实现思路,第1张

Discuz!X2.5论坛标题字数突破80的限制实现思路

有些用户发布帖子时,如果标题超过80个字符,就会被截掉一部分,尤其是有些用户推送一些英文或其他语言的文章时,标题甚至会超过180个字符。本文将详细介绍解决方法,必须掌握的人可以参考。

当一些用户公布贴子的情况下标题如果超出了80个字符超过的一部分被裁切没了,尤其是一些用户推送一些英文或别的其語言的文章内容的情况下标题说乃至会超出180个字符,又尤其社区论坛编号是UTF-8文件格式,由于一个字占3个字节数,因此标题最多也就二十六个中国汉字,许多用户想修改这一80个字符的限定。

想除掉这一篇幅限定,要从下边五个一部分来修改
一、数据库查询修改;
二、修改JS认证字符数文档;
三、修改模版中写死的标识符限定数;
四,修改涵数认证文档;
五,修改系统语言文档。

现以把标题标识符限定80修改为120为事例,叙述一下修改方式
一、数据库查询修改,修改数据库查询标题字段名的长短为120标识符:运作下边的sql语句:
(留意修改你的表的作为前缀)

复制代码编码以下:
ALTERTABLE`pre_forum_post`CHANGE`subject``subject`VARCHAR(120)NOTNULL;
ALTERTABLE`pre_forum_rsscache`CHANGE`subject``subject`char(120)NOTNULL;
ALTERTABLE`pre_forum_thread`CHANGE`subject``subject`char(120)NOTNULL;

二、修改JS认证字符数:1、寻找文档static/js/forum_post.js的74-80行

复制代码编码以下:
if(($('postsubmit').name!='replysubmit'&&!($('postsubmit').name=='editsubmit'&&!isfirstpost)&&theform.subject.value=="")||!sortid&&!special&&trim(message)==""){
showError('很抱歉,您并未键入标题或內容');
returnfalse;
}elseif(mb_strlen(theform.subject.value)>80){
showError('您的标题超出80个字符的限定');
returnfalse;
}

修改为:

复制代码编码以下:
if(($('postsubmit').name!='replysubmit'&&!($('postsubmit').name=='editsubmit'&&!isfirstpost)&&theform.subject.value=="")||!sortid&&!special&&trim(message)==""){
showError('很抱歉,您并未键入标题或內容');
returnfalse;
}elseif(mb_strlen(theform.subject.value)>120){
showError('您的标题超出120个字符的限定');
returnfalse;
}

2、寻找文档sitatic/js/forum.js的209到215行编码:

复制代码编码以下:
if(theform.message.value==''&&theform.subject.value==''){
s='很抱歉,您并未键入标题或內容';
theform.message.focus();
}elseif(mb_strlen(theform.subject.value)>80){
s='您的标题超出80个字符的限定';
theform.subject.focus();
}

修改为:

复制代码编码以下:
if(theform.message.value==''&&theform.subject.value==''){
s='很抱歉,您并未键入标题或內容';
theform.message.focus();
}elseif(mb_strlen(theform.subject.value)>120){
s='您的标题超出120个字符的限定';
theform.subject.focus();
}

三、修改模版中写死的标识符限定数:
1、寻找文档templatedefaultforumpost_editor_extra.htm的25到31行:

复制代码编码以下:
<!--{if$_G[gp_action]!='reply'}-->
<span><inputtype="text"name="subject"id="subject"class="px"value="$postinfo[subject]"{if$_G[gp_action]=='newthread'}onblur="if($('tags')){relatekw('-1','-1'{if$_G['group']['allowposttag']},function(){extraCheck(4)}{/if});doane();}"{/if}style="width:25em"tabindex="1"/></span>
<!--{else}-->
<spanid="subjecthide"class="z">RE:$thread[subject][<ahref="javascript:;">{langmodify}</a>]</span>
<spanid="subjectbox"style="display:none"><inputtype="text"name="subject"id="subject"class="px"value=""style="width:25em"/></span>
<!--{/if}-->
<spanid="subjectchk"{if$_G[gp_action]=='reply'}style="display:none"{/if}>{langcomment_message1}<strongid="checklen">80</strong>{langcomment_message2}</span>

修改为下边编码:

复制代码编码以下:
<!--{if$_G[gp_action]!='reply'}-->
<span><inputtype="text"name="subject"id="subject"class="px"value="$postinfo[subject]"{if$_G[gp_action]=='newthread'}onblur="if($('tags')){relatekw('-1','-1'{if$_G['group']['allowposttag']},function(){extraCheck(4)}{/if});doane();}"{/if}style="width:25em"tabindex="1"/></span>
<!--{else}-->
<spanid="subjecthide"class="z">RE:$thread[subject][<ahref="javascript:;">{langmodify}</a>]</span>
<spanid="subjectbox"style="display:none"><inputtype="text"name="subject"id="subject"class="px"value=""style="width:25em"/></span>
<!--{/if}-->
<spanid="subjectchk"{if$_G[gp_action]=='reply'}style="display:none"{/if}>{langcomment_message1}<strongid="checklen">120</strong>{langcomment_message2}</span>

2、寻找文档templatedefaultforumforumdisplay_fastpost.htm31-32行:

复制代码编码以下:
<inputtype="text"id="subject"name="subject"class="px"value=""tabindex="11"style="width:25em"/>
<span>{langcomment_message1}<strongid="checklen">80</strong>{langcomment_message2}</span>

修改为:

复制代码编码以下:
<inputtype="text"id="subject"name="subject"class="px"value=""tabindex="11"style="width:25em"/>
<span>{langcomment_message1}<strongid="checklen">120</strong>{langcomment_message2}</span>

四,修改涵数认证提醒:
寻找文档source/function/function_post.php的346-348行:

复制代码编码以下:
if(dstrlen($subject)>80){
return'post_subject_toolong';
}

修改为:

复制代码编码以下:
if(dstrlen($subject)>120){
return'post_subject_toolong';
}

五、寻找系统语言提醒文本,开启source/language/lang_messege.php并寻找985行改成:

复制代码编码以下:
'post_subject_toolong'=>'很抱歉,您的标题超出120个字符修改标题长短',

OK,你再发表帖子标题就可以是120个字符数了!!!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/773915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存