Discuz教程网

[常见问题] Discuz 7.2 您的标题超过 80 个字符,解决办法

[复制链接]
authicon dly 发表于 2012-11-8 20:28:36 | 显示全部楼层 |阅读模式
dz7.2在发新帖的时候 ,新话题标题默认为80字字符,这就可能无法满足一些朋友的需求。我这里有一个办法可以解决,但是通过修改以后,标题字数最多为80个字。其中一个汉字算一个字,一个字母也算一个字,一个数字也算一个字。

要修改的文件有:

1、include\post.func.php  中有一处  

if(strlen($subject) > 80) {

2、include\js\post.js         中有两处   

} else if(mb_strlen(theform.subject.value) > 80) {   
  和           
showDialog('您的标题超过 80 个字符的限制。');

3、include\js\viewthread.js 有两处

} else if(mb_strlen(theform.subject.value) > 80) {

s = '您的标题超过 80 个字符的限制

4、modcp\editpost.inc.php    中有一处

if(strlen($subjectnew) > 80) {


将以上的 80 改为 较大的数字即可!然后更新缓存

有一个客户用discuz 7.2版本论坛建站,网站是搞旅游的,经常要在论坛中发一些活动,而活动的标题一般都不会少于80个汉字,这样就需要对部分源码与数据库动手术了
方法:
一、打开include/js/post.js文件
在53行左右原代码:
} else if(mb_strlen(theform.subject.value) > 80) {
  showDialog('您的标题超过 80 个字符的限制。');
  return false;
}

改成
} else if(mb_strlen(theform.subject.value) > 255) {
  showDialog('您的标题超过 85 个字符的限制。');
  return false;
}

二、打开include/js/viewthread.js文件
在226行左右原代码:
} else if(mb_strlen(theform.subject.value) > 80) {
  s = '您的标题超过 80 个字符的限制。';
  theform.subject.focus();
}

改成
} else if(mb_strlen(theform.subject.value) > 255) {
  s = '您的标题超过 85 个字符的限制。';
  theform.subject.focus();
}

三、include/post.func.php文件
在511行左右原代码:
if(strlen($subject) > 80) {
  return 'post_subject_toolong';
}

改成
if(strlen($subject) > 255) {
  return 'post_subject_toolong';
}

四、modcp/editpost.inc.php文件

在49行左右原代码:
  if(strlen($subjectnew) > 80) {
   showmessage('post_subject_toolong');
  }

改成
  if(strlen($subjectnew) > 255) {
   showmessage('post_subject_toolong');
  }

五、templates/default/messages.lang.php文件

在130行左右原代码
'post_subject_toolong' => '对不起,您的标题超过 80 个字符,请返回修改标题长度。',
改成
'post_subject_toolong' => '对不起,您的标题超过 85 个字符,请返回修改标题长度。',
六、templates/default/wap.lang.php文件
在134行左右原代码
'post_subject_toolong' => '标题超过80字节',
改成
'post_subject_toolong' => '标题超过85字节',
好文件的改动已完成,再去后台改数据库更新的
以管理员身份进入论坛后台,找工具,数据库----“升级”
输入:
ALTER TABLE `cdb_threads` CHANGE `subject` `subject` VARCHAR(255) NOT NULL;
ALTER TABLE `cdb_posts` CHANGE `subject` `subject` VARCHAR(255) NOT NULL;

成功后,再更新一下缓存,即可!
方法是OK了,不过发文章用这么长的标题确实对SEO优化等都不太好,非必要的话,还是不要修改,用默认就好了




上一篇:Discuz7.2在firefox3.6不显示输入框的解决方法
下一篇:Discuz X2帖子数据导入程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 16:54

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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