打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【非原创】如何使discuz论坛标题字数突破80个字符的限制?

  用户发布帖子的时候标题要是超过了80个字符超出的部分被剪切掉了,特别是一些用户发送一些英文或其他其语言的文章的时候标题说甚至会超过180个字符,又特别论坛编码是UTF-8格式,因为一个字占3个字节,所以标题最长也就26个汉字,很多用户想修改这个80个字符的限制。

需要修改五个地方:   

  一、数据库修改;
  二、修改JS验证字符数文件;
  三、修改模板中写死的字符限制数;
  四,修改函数验证文件;
  五,修改语言包文件。

把标题字符限制80修改为120为例子

现以把标题字符限制80修改为120为例子,描述一下修改方法:

一、数据库修改,修改数据库标题字段的长度为120字符:运行下面的sql语句:
(注意修改你的表的前缀)


  1. ALTER TABLE `pre_forum_post` CHANGE `subject` `subject`VARCHAR(120) NOT NULL;
  2. ALTER TABLE `pre_forum_rsscache` CHANGE `subject` `subject`char(120) NOT NULL;
  3. ALTER TABLE `pre_forum_thread` CHANGE `subject` `subject`char(120) NOT NULL;

二、修改JS验证字符数:1、找到文件static/js/forum_post.js的74-80行

  1. if(($('postsubmit').name != 'replysubmit' &&!($('postsubmit').name == 'editsubmit' && !isfirstpost)&& theform.subject.value == "") || !sortid &&!special && trim(message) == "") {
  2.             showError('抱歉,您尚未输入标题或内容');
  3.              returnfalse;
  4.        } elseif(mb_strlen(theform.subject.value) > 80) {
  5.             showError('您的标题超过 80 个字符的限制');
  6.              returnfalse;
  7.        }

修改为:

  1. if(($('postsubmit').name != 'replysubmit' &&!($('postsubmit').name == 'editsubmit' && !isfirstpost)&& theform.subject.value == "") || !sortid &&!special && trim(message) == "") {
  2.             showError('抱歉,您尚未输入标题或内容');
  3.              returnfalse;
  4.        } elseif(mb_strlen(theform.subject.value) > 120) {
  5.             showError('您的标题超过 120 个字符的限制');
  6.              returnfalse;
  7.        }

2、找到文件sitatic/js/forum.js的209到215行代码:

  1. if(theform.message.value == '' && theform.subject.value== '') {
  2.              s ='抱歉,您尚未输入标题或内容';
  3.             theform.message.focus();
  4.        } elseif(mb_strlen(theform.subject.value) > 80) {
  5.              s = '您的标题超过80 个字符的限制';
  6.             theform.subject.focus();
  7.        }

修改为:

  1. if(theform.message.value == '' && theform.subject.value== '') {
  2.              s ='抱歉,您尚未输入标题或内容';
  3.             theform.message.focus();
  4.        } elseif(mb_strlen(theform.subject.value) > 120) {
  5.              s = '您的标题超过120 个字符的限制';
  6.             theform.subject.focus();
  7.        }

三、修改模板中写死的字符限制数:
1、找到文件\template\default\forum\post_editor_extra.htm的25到31行:





  1. RE: $thread[subject] [{lang modify}]



修改为下面代码:





  1. RE: $thread[subject] [{lang modify}]


2、找到文件\template\default\forum\forumdisplay_fastpost.htm31-32行:


  1. {lang comment_message1} 80{lang comment_message2}

修改为:


  1. {lang comment_message1} 120 {lang comment_message2}

四,修改函数验证提示:
找到文件source/function/function_post.php的346-348行:

  1. if(dstrlen($subject) > 80) {
  2. return 'post_subject_toolong';
  3. }

修改为:

  1. if(dstrlen($subject) > 120) {
  2. return 'post_subject_toolong';
  3. }

五、找到语言包提示文字,打开source/language/lang_messege.php 并找到985行改为:

  1.   'post_subject_toolong'=> '抱歉,您的标题超过 120 个字符修改标题长度',

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

来源:http://www.discuz.net/thread-2982409-1-1.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
网站建设标题优化小诀窍,让你脱颖而出
主题分类-板块标题-调用修改-代码放出-欢迎测试 - Discuz!-使用维护 - Dis...
常用字体选用
标题字效
javascript 防止特殊字符
dede文章放在哪个数据表里面,标题字段是什么?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服