Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Discuz! X2 修改群组名称字数限制方法.

[复制链接]
otherbank 发表于 2011-9-2 10:16:20 | 显示全部楼层 |阅读模式
本帖最后由 otherbank 于 2012-2-3 17:15 编辑

discuz! X2的群组的名称默认只能填10个汉字,超出部分就自动截掉,有很多站点却需要更多的字符显示群组名;字数限制,好处是美观,但限制了显示的不完整,有时候还是需要修改一下,如果考虑美观的话,前台调用的话,不显示多余的即可。
系统运行的原理是填写群组名称,聚焦离开文本框触动ajax事件给你检测是否超出20个字符,超出就会提示你多的会被截取掉,提交后程序有截取函数截取多余的字符,要实现修改群组字数的限制,需要修改三个文件:ajax文件,程序文件和语言包的提示文字(现以20个字节修改为30个字节为例)

1,找到论坛根目录下的文件/source/module/forum/forum_ajax.php,修改ajax检验长度代码
源文件140行代码
  1. $tmpname = cutstr($groupname, 20, '');
复制代码
修改为
  1. $tmpname = cutstr($groupname, 30, '');
复制代码
2,找到论坛根目录下的文件/source/module/forum/forum_group.php,修改提交截取代码代码
源文件280行代码
  1. $name = censor(addslashes(dhtmlspecialchars(cutstr(stripslashes(trim($_G['gp_name'])), 20, ''))));
复制代码
修改为
  1. $name = censor(addslashes(dhtmlspecialchars(cutstr(stripslashes(trim($_G['gp_name'])), 30, ''))));
复制代码
源文件368行代码
  1. $_G['gp_name'] = censor(addslashes(dhtmlspecialchars(cutstr(stripslashes(trim($_G['gp_name'])), 20, ''))));
复制代码
修改为
  1. $_G['gp_name'] = censor(addslashes(dhtmlspecialchars(cutstr(stripslashes(trim($_G['gp_name'])), 30, ''))));
复制代码
3,找到论坛根目录下的文件/source/language/lang_message.php ,检验名称长度提示信息
源文件232行代码
  1. 'group_name_oversize' => '抱歉,{_G/setting/navs/3/navname}名称超过20个字节将被截断',
复制代码
修改为
  1. 'group_name_oversize' => '抱歉,{_G/setting/navs/3/navname}名称超过30个字节将被截断',
复制代码
完成这三步就完成了修改群组名称的限制。由于数据库字段还有字数限制,其实数据库允许输入的最大字符数是80,也就是说上面修改群组名称超过80之后也是不显示的。



秋之子 发表于 2011-9-2 10:17:52 | 显示全部楼层
支持下。
回复

使用道具 举报

pcyi 发表于 2011-9-3 10:32:35 | 显示全部楼层
纯支持了
回复

使用道具 举报

lbscdream 发表于 2011-12-7 16:25:40 | 显示全部楼层
:lol
回复

使用道具 举报

旅行的蜗牛 发表于 2012-2-3 12:07:10 | 显示全部楼层
x2.0刚按照楼主的办法修改成80了,也更新了缓存,修改群组名称的时候提交成功,但显示出来还是10个汉字,其他都被截断了,不知道还有什么原因呢?能帮忙解答一下吗
回复

使用道具 举报

旅行的蜗牛 发表于 2012-2-3 12:10:09 | 显示全部楼层
搞明白了,好像是先前建立的群组无法修改,后面建立的好像又可以了。
回复

使用道具 举报

 楼主| otherbank 发表于 2012-2-3 12:10:20 | 显示全部楼层
旅行的蜗牛 发表于 2012-2-3 12:07
x2.0刚按照楼主的办法修改成80了,也更新了缓存,修改群组名称的时候提交成功,但显示出来还是10个汉字,其 ...

你确定你修改的程序目录是对的吗?
别改了其他网站目录或者备份目录
回复

使用道具 举报

 楼主| otherbank 发表于 2012-2-3 12:11:28 | 显示全部楼层
旅行的蜗牛 发表于 2012-2-3 12:10
搞明白了,好像是先前建立的群组无法修改,后面建立的好像又可以了。

可以删除那些群组,重建
回复

使用道具 举报

旅行的蜗牛 发表于 2012-2-3 12:12:34 | 显示全部楼层
otherbank 发表于 2012-2-3 12:11
可以删除那些群组,重建

好的,谢谢
回复

使用道具 举报

旅行的蜗牛 发表于 2012-2-3 12:31:52 | 显示全部楼层
楼主,有新问题了!
x2.0刚按照楼主的办法修改成80了,也更新了缓存,修改群组名称的时候提交成功,也可以最大显示40个汉字,这是在没有上传群组图标的情况,一旦上传群组图标,群组名称又变回10个汉字了,试了好几次都这样,帮帮忙啊
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-23 21:07 , Processed in 0.026664 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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