帮助中心
40
最新文章
  • discuz论坛源码程序利用弹幕插件实现首页弹幕
  • Discuz换域名如何修改帖子内容页的域名和标题链接呢
  • Discuz换域名如何修改帖子内容页的域名和标题链接呢
  • discuz在后台操作更新补丁的时候系统提示没有权限的解决方法
  • discuz无效的或者是未使用的附件如何快速清理
  • discuz论坛的帖子里面的内容的外部URL链接怎么操作才能进行屏蔽
  • 如何在disucz程序的帖子内部实现会员的所在地与ip
  • discuz的底部管理或者会员马甲怎么替换它的样式
  • 完美解决discuz会员积分BUG的问题
  • discuz远程附件功能开启图文教程
  • 文章分类
  • 171CMS_711CMS
  • BIWEB商务智能网站系统
  • BO-BLOG开源博客系统相关
  • cmseasy易通企业系统相关
  • Cscms程氏内容管理系统
  • dedecms教程_织梦系统帮助文档_dedecms虚拟主机空间
  • Destoon开源b2b系统相关
  • DirectAdmin(DA)用户面板相关
  • discuz论坛_discuz x3.0教程_discuz x3.2教程_DZ论坛
  • DouPHP轻量级企业网站管理系统
  • drupal开源内容管理系统(CMS)
  • ecmall商城系统教程-ecmall最新版本-ecmall模版教程
  • Ecshop开源网店系统相关
  • ECTouch程序相关教程
  • ESPCMS_易思
  • ftp教程_ftp上传工具_ftp软件_ftp是什么
  • iwebshop开源网店系统相关
  • joomla开源cms相关
  • KingCMS内容管理系统
  • Lifetype开源博客相关
  • Magento开源电子商务系统
  • mambors开源cms相关
  • mediawiki开源百科系统相关
  • Metinfo(米拓)CMS教程-米拓模版安装教程
  • modoer3.2_modoer点评系统_modoer模版
  • MvMmall多用户商城系统
  • mysql数据库相关
  • opensns开源社交系统
  • oscommerce电子商务系统
  • PHPBB开源论坛程序相关
  • phpcms教程_phpcms漏洞修复_phpcms技术中心
  • phpmyfaq开源问答(FAQ)系统相关
  • phpweb程序_phpweb教程_phpweb成品网站
  • PHPWIND开源论坛系统相关
  • phpyun
  • php主机产品
  • Pmwiki开源百科程序
  • SemCms开源程序
  • SEO-网站优化-SEO优化
  • ShopEx网店程序_shopex模板教程_shopex虚拟主机空间
  • ShopNc开源商城系统教程_电子商务系统教程
  • Thinkphp中文WEB应用开发框架相关
  • thinksns全平台综合型社交系统
  • Typecho开源博客系统相关
  • WordPress博客中文教程_wordpress模板教程_wordpress虚拟主机空间
  • XOOPS内容管理系统(CMS)
  • YOUDIANCMS内容管理系统
  • zblog博客程序教程_zblog模版问题解决方法
  • Zen Cart开源商城系统相关
  • [db:分类]
  • 主机环境配置相关
  • 其他资料
  • 域名相关
  • 安全资讯
  • 宏博cms企业系统相关
  • 帝国CMS教程_帝国CMS常见问题解决方法
  • 建站之星教程_建站之星程序常见问题解决方案
  • 无忧主机原创视频教程
  • 无忧主机用户部署安装网站
  • 无忧主机超级用户管理系统相关
  • 易企cms企业系统相关
  • 最土团购程序_最土团购程序模板教程_最土团购虚拟主机空间
  • 海盗云商系统
  • 网站SEO教程_SEO是什么?_SEO博客-无忧主机
  • 网站迁移和数据备份相关
  • 行业新闻
  • 资源目录
  • 骑士cms_骑士人才系统教程
  • 完美修改Discuz! x2.5论坛标题字数(80个字符)限制长度

    一个很烦人的问题,discuz!x2.5的帖子标题长度(字数)有限制,无忧主机(www.51php.com)小编从康盛官方论坛查了相关资料,是有80个字符的限制。换句话说,你在编辑帖子标题的时候,只能有80个字符,超过了就不显示了。这是一个蛋疼的问题,80个字符长度的帖子标题,怎么能满足论坛达人的需求类?如果你用的是discuz!x2.5 UTF8版本,那就更揪心了,因为utf8版本,一个汉字算3个字节,也就是26个汉字。是不是有点崩溃的感觉?还好,这种问题,不是一个人遇到,在discuz!x2.5官方论坛上,也有许多人问如何取消或加长默认标题长度。很高兴,这个问题已经有完美的解决方案,无忧主机(www.51php.com)小编这里就借花献佛,与大家共享这个案例。

    目的:将discuz!x2.5论坛标题长度限制80字符,增加到限制120字符。

    无忧主机(www.51php.com)小编温馨提示:论坛代码修改有风险,网站备份要先行。网站整站备份,请你参考:网站整站一键备份与恢复

    工具:要顺利完成代码的修改,一个好用工具不可少,强烈推荐使用文本编辑器(editplus),不推荐使用记事本进行编辑修改。

    方向:我们要把discuz!x2.5论坛标题字数(长度)限制80字符,增加到限制120字符,修改过程中,要涉及:mysql数据库、js验证文件数、修改函数验证、模版中定义的字符限制数量、语言包文件合计五个文件。同志们,工作量巨大繁琐,要仔细认真哦。我们操作前对网站进行一个整站备份是非常有必要的。

    把discuz!x2.5论坛标题长度限制80字符,增加到限制120字符的详细操作步骤和说明:

    1、Mysql数据库修改。

    这里我们直接执行sql查询语句来完成,请你直接把下面的sql语句直接复制,到phpmyadmin工具中的sql语句执行窗口,执行即可。

    如果你不知道如何登录无忧php虚拟主机的phpmyadmin工具,请你直接点击 “phpmyadmin数据库管理工具的使用说明”查询。

    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文件:

    我们要这里要修2个JS文件一个是forum_post.js和forum.js。详细修改如下:

    A、修改js验证字符数文件:static/js/forum_post.js

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

    源文件:

    if(($('postsubmit').name != 'replysubmit' && !($('postsubmit').name == 'editsubmit' && !isfirstpost) && theform.subject.value == "") || !sortid && !special && trim(message) == "") {
                    showError('抱歉,您尚未输入标题或内容');
                    return false;
            } else if(mb_strlen(theform.subject.value) > 80) {
                    showError('您的标题超过 80 个字符的限制');
                    return false;
            }

    修改替换为:

    if(($('postsubmit').name != 'replysubmit' && !($('postsubmit').name == 'editsubmit' && !isfirstpost) && theform.subject.value == "") || !sortid && !special && trim(message) == "") {
                    showError('抱歉,您尚未输入标题或内容');
                    return false;
            } else if(mb_strlen(theform.subject.value) > 120) {
                    showError('您的标题超过 120 个字符的限制');
                    return false;
            }

    B、修改目录:sitatic/js/forum.js

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

    源代码:

    if(theform.message.value == '' && theform.subject.value == '') {
                    s = '抱歉,您尚未输入标题或内容';
                    theform.message.focus();
            } else if(mb_strlen(theform.subject.value) > 80) {
                    s = '您的标题超过 80 个字符的限制';
                    theform.subject.focus();
            }

     

    修改替换为:

    if(theform.message.value == '' && theform.subject.value == '') {
                    s = '抱歉,您尚未输入标题或内容';
                    theform.message.focus();
            } else if(mb_strlen(theform.subject.value) > 120) {
                    s = '您的标题超过 120 个字符的限制';
                    theform.subject.focus();
            }

    3、修改模版中定义的字符限制数量:

    在discuz!x2.5模版中,有一句代码限制了帖子标题字符数,这是我们必须要修改的,让其支持更长的帖子标题。修改文件为:post_editor_extra.htm和forumdisplay_fastpost.htm

    A、post_editor_extra.htm路径目录:/template/default/forum/

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

    源代码如下:

    <span id="subjectchk"{if $_G[gp_action] == 'reply'} style="display:none"{/if}>
    {lang comment_message1}
    <strong id="checklen">80</strong> {lang comment_message2}</span>

    修改替换为:

    <span id="subjectchk"{if $_G[gp_action] == 'reply'} style="display:none"{/if}>
    {lang comment_message1}
    <strong id="checklen">120</strong> {lang comment_message2}</span>

    B、forumdisplay_fastpost.htm路径目录:\template\default\forum\forumdisplay_fastpost.htm

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

    源代码:

    <span>{lang comment_message1} <strong id="checklen">80</strong> {lang comment_message2}</span>

    修改替换为:

    <span>{lang comment_message1} <strong id="checklen">120</strong> {lang comment_message2}</span>

    4、修改函数验证

    修改一个验证函数(function_post.php)文件,这个非常重要,这里也对帖子标题长度做了限制,我们只需要修改限制长度即可。

    function_post.php路径目录:source/function/function_post.php

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

    源代码:

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

    修改为:

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

    5、修改语言包

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

    lang_messege.php路径目录:source/language/lang_messege.php

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

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

    以上操作无忧主机(www.51php.com)小编已经在discuz!x2.5 gbk 最新版本中验证通过,希望上面的操作过程,能够给你带来帮助。感谢你阅读本教程。

     

    纯Linux环境下高端免备案【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

    本文地址:https://www.51php.com/discuz/7470.html