无限星辰工作室-客户无限互联网动力之源

标题: Discuz!X3.2标题80个字符的限制解决方案之一 [打印本页]

作者: crx349    时间: 2014-8-29 09:22
标题: Discuz!X3.2标题80个字符的限制解决方案之一

第一步:
执行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行处,做如下修改:
找到:

  1. if(dstrlen($subject) > 80) {
  2. return 'post_subject_toolong';
  3. }
复制代码


修改为:

  1. if(dstrlen($subject) > 200) {
  2. return 'post_subject_toolong';
  3. }
复制代码

最后,修改一下语言包:
当会员编辑帖子标题的时候,如果超过定义的长度,那么系统就会友好的提示您,帖子标题长度太长了,这个地方虽然不是必须的,通过前面4个地方的修
改,我们已经可以达到了我们的目的了,但是为了用户体验,我们必须要继续修改Discuz!x3.2的语言包,请语言包
(lang_messege.php)中关于超过标题长度的系统提示修改正确。
lang_messege.php路径目录:source/language/lang_messege.php
使用文本编辑器editplus打开计算文件lang_messege.php,查找定位在约998行处,做如下修改:
  1. 'post_subject_toolong' => '抱歉,您的标题超过 200 个字符修改标题长度',
复制代码





欢迎光临 无限星辰工作室-客户无限互联网动力之源 (https://www.xmspace.net/) Powered by Discuz! X3.4