当前位置:首页 > 学习手记 > 正文内容

Discuz!X3.4最新版完美解决帖子标题80个字符的限制

心砚1年前 (2022-11-29)学习手记974

目前安大论坛使用的是Discuz!X3.4 UTF-8版本,一个汉字占用3个字符,目前标题限制了80个字符,也就只能26个汉字,太少了。


以下是安大论坛的标题字符修改为120个过程记录:


Discuz!X3.4最新版完美解决帖子标题80个字符的限制.jpg


第1步,执行SQL

我用的是软件来执行SQL的,也可以在discuz的后台->站长->数据库->升级,在这里执行SQL语句:

(这个SQL语句的输入框默认是没有的,需要将 config/config_global.php 当中的 $_config[admincp][runquery] 设置修改为 1)


ALTER TABLE `pre_forum_post` CHANGE `subject` `subject` VARCHAR(120) NOT NULL;
ALTER TABLE `pre_forum_rsscache` CHANGE `subject` `subject` char(120) NOT NULL;
ALTER TABLE `pre_forum_thread` CHANGE `subject` `subject` char(120) NOT NULL;



第2步,修改JS文件

在/static/js/目录下  找到forum_post.js  和forum.js 这两个JS文件 。

打开forum_post.js 文件  查找字符  80  将这个文件里所有的 80 替换为 120  。

打开forum.js 这个文件  查找字符  80  将这个文件里所有的 80 替换为 120 。


第3步,修改模板文件

在/template/default/forum/ 目录下,找到post_editor_extra.htm和forumdisplay_fastpost.htm这两个模板文件。

打开post_editor_extra.htm 文件  ,查找字符  80  将这个文件里(除了第一个 80 字符)所有的 80 替换为 120 。

打开forumdisplay_fastpost.htm 文件 ,查找字符  80  将这个文件里(除了第一个和最后一个代码的 80 字符)所有的 80 替换为 120 。


第4步,修改验证函数:

打开目录:source/function/function_post.php

使用文本编辑器editplus打开计算文件function_post.php,查找定位在约372行处,做如下修改:

找到:

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



修改为

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



第5步,修改语言包

路径目录:source/language/lang_messege.php,大约在1007行,把80改为120。

'post_subject_toolong' => '抱歉,您的标题超过 120 个字符修改标题长度',






附加:帖子页面面包屑导航标题

到这里基本上已经ok了。另外在帖子页面的面包屑导航标题默认的也是显示不全,我们可以再修改下这里的显示字符长度。

路径目录:/source/module/forum/forum_viewthread.php,大约在104行,把52修改为120

$thread['short_subject'] = cutstr($_G['forum_thread']['subject'], 52);




改成

$thread['short_subject'] = cutstr($_G['forum_thread']['subject'], 120);



扫描二维码推送至手机访问。

版权声明:本文由皋城心砚发布,如需转载请注明出处。

本文链接:https://www.heyh.cn/288.html

相关文章

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。