首先,改掉数据库字段长度,
bbs_posts表
下载 (49.28 KB)
2009-12-10 15:02
bbs_threads表
把这两张表的"subject"字段长度改为你想设置的长度,
下来在论坛目录中找到下边这些文件进行修改.
"bbs\include\js\viewthread.js"(227,8):
s = '您的标题超过 80 个字符的限制。'; "bbs\include\js\post.js"(54,15):
showDialog('您的标题超过 80 个字符的限制。'); "bbs\include\post.func.php"(485,11):
if(strlen($subject) > 80) { "bbs\modcp\editpost.inc.php"(50,17):
if(strlen($subjectnew) > 80) { "bbs\templates\default\wap.lang.php"(134,3):
'post_subject_toolong' => '标题超过80字节',
把这里出现的80改成你数据库设置的长度,更新缓存,刷新页面,即可 我的设置成了100,效果图如下:
==================================================
Discuz修改文章標題最大長度
Discuz預設標題是80個位元,等於40個中文字
但是由於UTF8一個中文字等於3個位元
所以Discuz預設80個位元只剩26個中文字
偶爾可能會出現不夠用的狀況
修改方法,把下列提到的 80 改成想要的數字
上限255 ,120 = 40個 UTF-8 中文字
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 個字符的限制。';
if(strlen($subjectnew) > 80) {
templates/default/messages.lang.php
'post_subject_toolong' => '對不起,您的標題超過 80 個字符,請返回修改標題長度。',
templates/default/wap.lang.php
'post_subject_toolong' => '標題超過80字節',
7.修改MySQL
將資料表 cdb_posts , cdb_threads 的 subject 的 varchar(80) 或 char(80)
80改成想要的數字
以下為 UTF-8 的 MySQL 語法 (改成 120 的方法)
ALTER TABLE `cdb_posts` CHANGE `subject` `subject` VARCHAR(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
ALTER TABLE `cdb_threads` CHANGE `subject` `subject` CHAR(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
註:資料庫修改會導致後台校驗出現提示
另,論壇升級時要注意一下升級程式有沒有改到subject(機率極低)
1024x768 UTF-8 一行大概60個中文字,再留10個字給風格使用,所以50個字(150)就很夠用了
如果再考慮到版塊名稱的連結長度,可能40-45個字左右(120-135) |