设为首页收藏本站

Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 12705|回复: 6

[求助] 【教程】Discuz!X3.2最新版完美解决帖子标题80个字符的限制

[复制链接]
发表于 2014-8-23 09:29:59 | 显示全部楼层 |阅读模式
本帖最后由 不再沉醉 于 2014-8-24 04:03 编辑

一个很烦人的问 题,discuz!x3.2的帖子标题长度(字数)有限制,只能是80个字符!这十分的蛋疼!尤其是对UTF版的论坛来说!UTF-8的一个汉字就要占用 三个字符!80个字符只能输入26个汉字左右!这怎么能够用呢!于是我就准备着手修改一下!毕竟还是懒了一点!直接搜索一下看看网上有没有教程!  结果只搜到了discuz!x2.5修改帖子标题长度的限制!
想着2.5和3.1的差别应该不大!于是就照着做!

    但是直觉告诉我可定不会成功!结果还真是!木有成功!
那怎么办?这怎么能难到机制的我呢!根据2.5修改帖子标题字符限制的思路!做一下变通就OK!

    下面是我吧discuz!X3.2的帖子标题的字符长度改为200的实战方法:

    首先第一步:
执行SQL语句:你可以在
discuz的后台->站长->数据库->升级     在这里执行SQL语句


(这个SQL语句的输入框默认是没有你需要将 config/config_global.php 当中的 $_config[admincp][runquery] 设置修改为 1)
    或者直接在PHPmyadmin 里面执行SQL语句即可
SQL代码如下:

  1. ALTER TABLE `pre_forum_post` CHANGE `subject` `subject` VARCHAR(200) NOT NULL;
  2. ALTER TABLE `pre_forum_rsscache` CHANGE `subject` `subject` char(200) NOT NULL;
  3. ALTER TABLE `pre_forum_thread` CHANGE `subject` `subject` char(200) NOT NULL;
复制代码



    第二步,修改JS文件

找到JS文件夹 在/static/js/目录下  找到forum_post.js  和forum.js 这两个JS文件
打开forum_post.js 文件  查找字符  80  将这个文件里所有的 80 替换为 200  
然后再打开forum.js 这个文件  查找字符  80  将这个文件里所有的 80 替换为 200

    第三步,修改模板文件
打开路径目录:/template/default/forum/   下的post_editor_extra.htm  这个文件  使用编辑器打开  查找字符  80  将这个文件里(除了第一个 80 字符)所有的 80 替换为 200

再打开 路径目录:/template/default/forum/   下的 forumdisplay_fastpost.htm  这个文件 使用编辑器打开

查找字符  80  将这个文件里(除了第一个和最后一个代码的 80 字符)所有的 80 替换为 200 。

   最后一步修改函数:

修改一个验证函数(function_post.php)文件,这个非常重要,这里也对帖子标题长度做了限制,我们只需要修改限制长度即可。
function_post.php路径目录:source/function/function_post.php
使用文本编辑器editplus打开计算文件function_post.php,查找定位在约361行处,做如下修改:
找到:

if(dstrlen($subject) > 80) {
return 'post_subject_toolong';
}

修改为:

if(dstrlen($subject) > 200) {
return 'post_subject_toolong';
}

最后,修改一下语言包:
当会员编辑帖子标题的时候,如果超过定义的长度,那么系统就会友好的提示您,帖子标题长度太长了,这个地方虽然不是必须的,通过前面4个地方的修
改,我们已经可以达到了我们的目的了,但是为了用户体验,我们必须要继续修改Discuz!x3.2的语言包,请语言包
(lang_messege.php)中关于超过标题长度的系统提示修改正确。

lang_messege.php路径目录:source/language/lang_messege.php
使用文本编辑器editplus打开计算文件lang_messege.php,查找定位在约998行处,做如下修改:
'post_subject_toolong' => '抱歉,您的标题超过 200 个字符修改标题长度',




发表于 2014-8-23 09:45:40 | 显示全部楼层
我就纳闷了 你标题要那么多字干嘛呢
回复

使用道具 举报

 楼主| 发表于 2014-8-23 09:57:08 | 显示全部楼层
/微笑百姓访 发表于 2014-8-23 09:45
我就纳闷了 你标题要那么多字干嘛呢

你用一下UTF-8版本就知道了,你不需要,总有人需要。存在就是合理的。
回复

使用道具 举报

发表于 2014-8-23 10:26:39 | 显示全部楼层
感谢分享了
回复

使用道具 举报

发表于 2014-9-21 15:42:01 | 显示全部楼层
我试了下 不行啊,保存的时候 还是提示我标题超出了 80字符啊
回复

使用道具 举报

发表于 2014-9-21 18:03:55 | 显示全部楼层
这个可以改的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|Comsenz ( 粤B2-20090059-165 )  

GMT+8, 2018-1-19 05:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表