纳速健身

标题: 改变Discuz!7.1发帖标题长度 [打印本页]

作者: awagink    时间: 2010-3-17 15:14
标题: 改变Discuz!7.1发帖标题长度
首先,改掉数据库字段长度,
(, 下载次数: 0)

bbs_posts表

(, 下载次数: 0) 下载 (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,效果图如下:


(, 下载次数: 0)




==================================================


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)




欢迎光临 纳速健身 (https://nasue.com/) Powered by Discuz! X3.4