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个汉字,这样就需要对部分源码与数据库动手术了
先看完成后的展示:
http://www.cyxhw.com/ 呼伦贝尔草原行者户外俱乐部
方法:
一、打开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优化等都不太好,非必要的话,还是不要修改,用默认就好了