[教學] 完美修改Discuz 論壇帖子標題80字符的長度限制

1 - [教學] 完美修改Discuz 論壇帖子標題80字符的長度限制

最近開始經營的席梅爾論壇,有時發動畫資源時會發現帖子的長度最多只有80字元,一個中文字就佔去了兩個,也就是只能塞下四十個中文字,而我的帖子列表也有將字體大小縮小過,應該是沒有超出的憂慮,但就只能默默的刪去一點較不重要的字詞,其實也犧牲了許多SEO的可能。在後台找了一下,只有看到帖子內容的自訂義部分,卻沒有看到標題,谷歌了一下才發現它居然要自己修改模板和JS文件,雖然無奈,但也順利地照著網路上的教學成功了,因此當作筆記,也順便編輯一下,分享給需要的讀者。


操作步驟

由於有動到資料庫的部分,強烈建議讀者還是要先備份,比較保險。

第1步 進入後台→站長→數據庫→升級,發現我們不能在這個畫面更改SQL數據庫的內容,這是官方預設的保險措施,沒關係,用FTP工具將config/config_global.php 當中的 $_config[admincp][runquery]改為1就行了。

第2步 然後我們要執行以下的SQL語法:

ALTER TABLE `pre_forum_thread` CHANGE `subject` `subject` CHAR( 120 );
ALTER TABLE `pre_forum_post` CHANGE `subject` `subject` CHAR( 120 );

(如果你的表前綴不是默認的pre_ 要修改成和自己資料庫相同的表前綴)

第3步 打開./source/function/function_post.php
查找
if(dstrlen($subject) > 80)
修改為
if(dstrlen($subject) > 120) {

第4步 打開./static/js/forum_post.js
查找
} else if(mb_strlen(theform.subject.value) > 80) {
showError(‘您的標題超過 80 個字符的限制’);
修改為
} else if(mb_strlen(theform.subject.value) > 120) {
showError(‘您的標題超過 120 個字符的限制’);

第5步 打開templates/default/forum/post_editor_extra.htm
查找
strLenCalc(this, ‘checklen’, 80);
修改為
strLenCalc(this, ‘checklen’, 120);

第6步 打開 ./static/js/forum.js
查找
if(mb_strlen(theform.subject.value) > 80) {
                s = ‘您的標題超過 80 個字符的限制’;

修改為
if(mb_strlen(theform.subject.value) > 120) {
                s = ‘您的標題超過 120 個字符的限制’;