Discuz教程网

[代码修改] 限制discuz标题的最小字数或加大长度 For Discuz 7.x

[复制链接]
authicon dly 发表于 2011-11-5 10:10:27 | 显示全部楼层 |阅读模式
disucz帖子的标题是长度极限是80个字,中文和英文都是一样的。这个长度应该说够用了,但很多人有不同的需要,discuz不可能控制这么细,因此要控制发帖的最小标题长度或者增加80字的极限长度就要修改程序。

1.限制发帖标题的最小长度

可能有的用户发贴子标题只是习惯用一两个字,或很短不能表达帖子在意思,这对搜索引擎优化是不利的,对于用户体验和discuz的seo也不好。限制发帖标题的最小长度,需要修改后台检测函数就可以了,可能对discuz seo也有好处:
打开include/post.func.php文件:
  1. global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize;
  2. if(strlen($subject) > 80 ) { //把这两行替换为如下:
  3. global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize, $action;
  4. if(strlen($subject)>80 || ($action=='newthread' && strlen($subject)<8) ){
复制代码
这时还要注意,当标题过短时的提示还是标题过长超过字数限制,还要修改语言包的提示
打开templates/default/messages.lang.php,找到post_subject_toolong
将后面的提示修改为:标题字数应在 8-80 之间,请返回修改标题长度
注意:不改改变这个文件的字符编码,否则会造成显示乱码。


2.加大discuz标题长度

这个真不知道为什么还要加长,可是有人需要过。方法除了像1.一样修改程序中的限制和提示信息,还要修改数据库中字段的长度,否则也存不下自然就丢弃了。
修改数据表字段长度,主题表:cdb_threads,帖子表:cdb_posts
对它们分别执行:ALTER TABLE [上面两个表的名字] MODIFY subject varchar(200);
注意:操作前要备份数据库;红字根据需要修改。




上一篇:Discuz Archiver 小bug:html标签 For Discuz 7.x
下一篇:Discuz 之seo 慎用“个人资料页面(space.php)静态化”
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 18:21

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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