请选择 进入手机版 | 继续访问电脑版

discuz3.4修改帖子标题长度突破80字符限制的最新正确方法

[复制链接]
查看1589 | 回复0 | 2019-11-29 23:52:42 | 显示全部楼层 |阅读模式
discuz3.4修改帖子标题长度突破80字符限制的最新正确方法,全网没有一个说正确的,都是一个一个的复制,在哪搞采集一样。没啥用,下面看52建站博客来为大家讲讲修改这个标题重点在哪里。

关键点:为什么模板文件 post_editor_extra.htm forumdisplay_fastpost.htm 两个找不到呢?

先按部就班,把前面的先说一下:

下面也就分享一下,自己修改的一些经验。
需要修改5个地方:
1、数据库修改 2、修改JS验证字符数文件 3、修改模板中写死的字符限制数 4、修改函数验证文件 5、修改语言包文件
____________________________________________________________________________
我修改的是200个字符,所以下面介绍的也是修改为200个字符的介绍,自己也可以根据自己的请看看修改~~~~~~(修改前务必先备份,不然哭了不要找我哈)
QQ截图20191129233843.jpg
首先要修改数据库的地方dz论坛后台打开位置到:站长--->数据库---->升级

现在的这个版本 默认没有手动输入SQL 语句地方,需要先开启
如果您想自己随意书写 SQL 升级语句,需要将 config/config_global.php 当中的 $_config[admincp][runquery] 设置修改为 1。

开启后,输入代码
  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;
复制代码

转换建表语句格式和字符集这个地方不要勾选,(万一不小心勾选了,也没啥影响)然后点击提交
这样第一步的 数据库修改 就完成了
QQ截图20191129234002.jpg
修改JS验证字符数文件:js 文件有2个需要修改的

第一个是:

static/js/forum_post.js的74-80行else if(mb_strlen(theform.subject.value) > 80) {showError('您的题超过 80 个字符的限制');return false;}其中的两个 80 修改为200

第二处是:  

sitatic/js/forum.js的209到215行代码else if(mb_strlen(theform.subject.value) > 80) {s = '您的标题超过 80 个字符的限制';theform.subject.focus();}

其中的两个 80 也修改为200

QQ截图20191129234228.jpg

开始修改3、修改模板中写死的字符限制数 (最关键的一步,这里即将所说的就是"52建站"所说的与网上的不同之处)

有两个文件 需要修改,里面的代码还是比较多的,要小心一些

第一个文件:/template/default/forum/ 下的post_editor_extra.htm(此文件其实是存在于此目录下的,只不过一些特殊原因被隐藏了,不要紧,只需要把discuz安装包里的次文件单独提取出来修改80为200之后,再将此文件上传进去覆盖即可<此问题多出现在直接在宝塔文件管理里面操作的用户>

查找字符 80 将这个文件里(除了第一个 80 字符)所有的 80 替换为 200
<select name="typeid" id="typeid" width="80">  这个是第一个 这个80不要改,这个是宽度 和 标题字数 没有关系
修改的几处,可以参考 下图
QQ截图20191129234259.jpg

第二个文件修改:/template/default/forum/ 下的 forumdisplay_fastpost.htm (此文件其实是存在于此目录下的,只不过一些特殊原因被隐藏了,不要紧,只需要把discuz安装包里的次文件单独提取出来修改80为200之后,再将此文件上传进去覆盖即可<此问题多出现在直接在宝塔文件管理里面操作的用户>

查找字符 80 将这个文件里(除了第一个和最后一个代码的 80 字符)所有的 80 替换为 200
修改的地方如图:
QQ截图20191129234351.jpg

下面开始修改 :修改函数验证文件
打开 :  source/function/function_post.php
查找定位在约361行处

if(dstrlen($subject) > 80) {return ‘post_subject_toolong’;}
修改为:
if(dstrlen($subject) > 200) {return ‘post_subject_toolong’;}
这样 这个函数验证文件就修改完了
QQ截图20191129234448.jpg

开始修改最后一个文件  修改语言包文件
打开:source/language/lang_messege.php
查找定位在约998行处,做如下修改:‘post_subject_toolong’ => ‘抱歉,您的标题超过 80 个字符修改标题长度’,
QQ截图20191129234511.jpg

别急,还没完,直接把改好的(改为200字符)的这两个文件附在最底下了,需要的直接下载去覆盖:
post_editor_extra :
请点击此处下载

查看状态:已购买或有权限

您的用户组是:游客

售价:免费  |   | 下载次数:156  
下载权限: 不限  (已享有下载权限 )VIP会员   [购买VIP]   [充值金钱]  [免费赚金钱] 【提示:10元开通本站VIP,全站资源免费下】

forumdisplay_fastpost.htm :
请点击此处下载

查看状态:已购买或有权限

您的用户组是:游客

售价:免费  |   | 下载次数:147  
下载权限: 不限  (已享有下载权限 )VIP会员   [购买VIP]   [充值金钱]  [免费赚金钱] 【提示:10元开通本站VIP,全站资源免费下】


注:此教程由《52建站》改编
回复

使用道具 举报

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

本版积分规则