分类目录归档:Discuz

discuz新站使用开发者模式导入插件记录

新建了个discuz站,使用开发者模式导入老站的插件,记录一下过程。

1、开启老站的开发者模式,导出插件的XML配置文件。

2、打包老站source/plugin目录下的插件文件。

3、将导出的XML文件放到打包的插件文件夹的主目录下。

4、上传插件文件夹到新站的source/plugin目录下。

5.这个时候就可以在新站的插件菜单下找到该插件,点击安装按钮即可安装完成。 继续阅读

使用定时任务在Discuz X3.4中免插件自动生成sitemap.xml

为了更好的利于SEO,加快百度、360、谷歌、bing、搜狗等收录,我们需要网站生成sitemap.xml,有些搜索引擎只支持.xml,不支持.txt,所以我们必须在511遇见论坛下自动生成sitemap.xml,由于我们采用了伪静态,所以生成的链接必须和伪静态规则一致,在discuz后台插件搜索了几个,姑且不谈收费免费,发现很不稳定,且静态规则无法兼容,这里我们采用discuz的定时任务,自动生成sitemap.xml。 继续阅读

discuz修改标签的字数限制

每一个标签的长度总数是20个字符,也就是10个汉字,虽然说标签一般都是比较短的,但是这个有时是无法满足坛友们的需要的,关于discuz论坛标题字数的修改教程网上很多,但是标签字数修改的教程却是少之又少。
首先,需要将签总数字255字符修改大一些,这个是在表pre_forum_post中的tags字段里面,这里将255修改成了1000,大家可以根据自己的需要去改。

其次是修改tags的长度限制,是在表pre_common_tag的tagname里面,默认的是20这里修改成了200。

第三个是修改表pre_common_tagitem中的tagname字段,也是把20修改成200

最后需要修改source/class/class_tag.php

   if(preg_match('/^([\x7f-\xff_-]|\w|\s){3,20}$/', $tagname)) {				$status = $idtype != 'uid' ? 0 : 3;				$result = C::t('common_tag')->get_bytagname($tagname, $idtype);				if($result['tagid']) {					if($result['status'] == $status) {						$tagid = $result['tagid'];					}

{3,20}这个地方是限制每一个标签的长度的,默认的是3个字符到20个字符,我们这里把20改成200,这样的话,标签最高可以输入200个字符了

Discuz X3.4 安装的不是正版应用 / 应用安装后无法启用的解决办法(2021年6月)

概述
Discuz! X3.4 自2021年3月更新以来尽管修改了 /source/function/function_cloudaddons.php 但安装应用的时候任然提示“对不起,您安装的不是正版应用,安装程序无法继续执行”

操作环境
操作系统:Windows10

操作步骤
一:找到/source/function/function_cloudaddons.php这个文件,找到文件中的cloudaddons_validator这个处理过程,将中间提示部份注释掉。 继续阅读

Discuz对不起,您安装的不是正版应用的解决办法

Discuz! X2.0以后的版本都会对主题或插件做一个正版验证,如果是从别人那里买的盗版主题或插件的话,安装时会出现:对不起,您安装的不是正版应用,安装程序无法继续执行的问题。

1 找到以下文件:/source/function/function_cloudaddons.php

搜索代码

cpmsg(‘cloudaddons_genuine_message’, ”, ‘error’, array(‘addonid’ => $addonid));

cpmsg('cloudaddons_genuine_message', '', 'error', array('addonid' => $addonid));

2 将这行注释掉就可以了,注释后的代码如下:

/*cpmsg('cloudaddons_genuine_message', '', 'error', array('addonid' => $addonid));*/

然后再安装也就可以了

discuz单板块设为首页

在程序根目录找到

forum.php
index.php

首先将这两个文件另存一份,以备日后恢复,

首先修改forum.php

找到这句

define('CURSCRIPT', 'forum');

下面加入

$_GET +=array('mod'=>'forumdisplay','fid'=>2);

上面的’2’是设定论坛单版的版块fid号,
还记得刚安装好论坛时是否有个默认版块,它的fid号就是’2’了,
设定其它版块为单版的主版块,可以把这个’2’的版块fid号修改,首先先找到设定单版的版块fid,
版块的fid的获取方法,
可以打开一个版块,复制它的地址,寻找以下字段,
fid=
后面的数值就是版块的fid,
forum.php的修改完成后,把forum.php的全部代码复制到index.php中,现在论坛单版就完成,你现在可以打开主页,主页变成了设定的版块。

Discuz!-更新自定义字段后-后台数据库数据更新完毕但前台不显示的处理办法

起初以为是非常奇怪的问题,在phpMyAdmin下批量执行数据库语句成功更新了数据库,后台也都修改好了可选值,但是前台就是不更新,缓存问题!
然后就想办法后台更新缓存,模板缓存,用户-更新统计项资料统计里“”和“更新数据”。
更新完还是不行,后经广峰点化……原来是memcache内存缓存导致的,要清理该内存缓存需要在后台的-全局-性能优化-内存优化-memcache的对应行点击“内存清理”即可。清理完后,前台页面已经正常了。

discuz新触屏版图片宽度自适应

文件位置:template/default/m/css/comm.css

找到第99行:

.detailCon img,.img img{max-width:300px;margin:10px auto;height:auto !important;}

修改为:

.detailCon img,.img img{max-width:100%;margin:10px auto;height:auto !important;}

保存并更新缓存即可

对不起,您安装的不是正版应用,安装程序无法继续执行

方法一:

discuz 社区在更新到2.0以上后,增加了对插件的版本检测,在安装时,可能会出现:“对不起,您安装的不是正版应用,安装程序无法继续执行”的提示,要解决这个其实挺容易的,找到以下文件:

/source/function/function_cloudaddons.php

找到文件中的cloudaddons_validator这个处理过程,将中间提示部份注释掉,改为像以下这样即可

function cloudaddons_validator($addonid) {
  $array = cloudaddons_ge***5($addonid);
  if(cloudaddons_open('&mod=app&ac=validator&addonid='.$addonid.($array !== false ? '&rid='.$array['RevisionID'].'&sn='.$array['SN'].'&rd='.$array['RevisionDateline'] : '')) === '0') {
  //cpmsg('cloudaddons_genuine_message', '', 'error', array('addonid' => $addonid));
  }

方法二:

模板不能安装只要修改你模板文件夹名称就可以安装了,比如原来的模板是pengyouz,现在你任意修改比如修改为pengyouzz,然后在模板安装文件找到<item id=”directory”><![CDATA[./template/pengyouz]]></item>你把这个里面的pengyouz改为刚才你修改过的新名称pengyouzz,这样就可以了,还有就是需要修改模板名称链接,可以用Dreamweaver来批量修改。

方法三(2014年新增最简单方法。)

1、打开/source/function/function_cloudaddons.php这个文件,

2、搜索:cloudaddons_validator

3、一般在97行,删去或者注释掉cpmsg(‘cloudaddons_genuine_message’, ”, ‘error’, array(‘addonid’ => $addonid));这句代码,这样就解决问题了。