登录 | 公告:

怎么限制或修改discuz标题长度

作者:SEO小工  时间:2009-03-05

关键字: title,discuz

disucz帖子的标题是长度极限是80个字,中文和英文都是一样的。这个长度应该说够用了,但很多人有不同的需要,discuz不可能控制这么细,因此要控制发帖的最小标题长度或者增加80字的极限长度就要修改程序。

1.限制发帖标题的最小字数

可能有的用户发贴子标题只是习惯用一两个字,或很短不能表达帖子在意思,这对搜索引擎优化是不利的,对于用户体验也不好。限制发帖标题的最小长度,需要修改后台检测函数就可以了:
打开include/post.func.php文件:找到
global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize;
if(strlen($subject) > 80 ) { 把这两行替换为:
global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize, $action;
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);
注意:操作前要备份数据库;红字根据需要修改。

作者:SEO小工,原发:论坛 SEO半亩田
原文:http://seo.banmutian.org/thread-12-1-1.html

赞助商链接

©2008 shyedu.net 陕ICP备09001817号