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優化等都不太好,非必要的話,還是不要修改,用預設就好了