[discuz建站技术]
discuz多个插件数据互通技巧及实现教程
[复制链接]
|
discuz最大的特点是插件众多,小白站长只需要简单的安装几个discuz插件就可以实现很多想要的功能!魔趣吧提供了大量的功能强大的discuz插件供大家使用!但是这里有一个很大的问题,除了常见的插件之间的兼容性冲突,discuz插件之间通常数据是不互通的!也就是说,除了部分同一个插件作者的插件之间可能数据互通,大部分插件都是独立的!比如我们安装了一个电脑版的VIP插件,但是这个插件不支持手机版,那么为了手机开通VIP,可能需要再安装一个手机VIp插件,这个时候问题就来了,如何判定是手机开通还是电脑开通呢?或者,如何将手机开通的VIP记录同步到电脑版插件呢?这就需要用到discuz插件数据互通技术了!
' J; P9 L: g+ P1 R, f( w( M3 M/ O
8 Q; m2 }- }$ X# }插件互通的原理其实很简单!那就是在需要互通的插件里面添加对应的数据库操作!因为discuz的插件数据一般都是直接存储在数据库里面,那么如果我们想要将手机版的插件或者其他插件的操作结果数据存储到另一个插件的数据库,那么就要去修改这个插件文件!假设需要同步数据的插件为A,同步到插件B,那么我们需要修改A插件的文件,添加B插件文件里面的记录数据的数据库操作语句!当然,不同的插件数据对应的变量可能是不同的,这个时候就需要根据discuz全局变量或者相对变量进行适当的修改,然后再组合到A插件文件中。核心就是操作数据库!以数据库为媒介实现任意插件的数据互通!关于discuz数据库的操作及查询,可以参考【discuz数据库字典】。- Y) a8 K+ k+ y5 V0 ^* O& ^
5 { }" B. a' ]
另外需要注意的是,在添加相关的数据库操作的时候,需要确定数据表的存在与否,一般就是在添加的语句前添加相应的判断,比如判断表的存在语句,然后才去执行同步函数或者语句,以防止插件卸载报错!当然,此教程适合对discuz非常熟悉的站长使用,小白请勿尝试!也可联系魔趣吧技术客服付费实现多个插件的数据互通!
4 Z% f% Q/ J/ r$ F0 w. n) ]1 E8 c, i* g. t6 _
% Q+ X0 V0 M: l
|
|