咨询,就免费赠送域名与服务器,咨询热线:18670727589当前位置: 首页 > 建站知识 > 二次开发 > 其他二次开发 >
推荐内容
联系我们
电话咨询:18670727589
E-mail:xiaoqiping#vip.qq.com
地址: 光大发展大厦南栋29楼(候家塘南车站旁)

海盗电商系统二次开发教程之插件机制

必发88:必发88首选服务提供商   作者/整理:必发88   来源:互联网   2015-08-23

插件机制

海盗拥有一套较为完善的插件机制。合理使用内置插件机制,您可以更好的将自己的个性化功能需求无缝整合到海盗产品并保持代码独立而易于维护。通常情况下,海盗系统的后续产品版本升级并不会直接影响插件的可用性。

故我们鼓励通过基于海盗插件机制进行个性化需求定制和研发。但请注意,过多的安装外部插件可能对系统性能有较大影响。

准备工作

在便写插件之前,您应当首先对插件实现的流程有一个大致的了解,以下是我们推荐的插件便写流程:

  1. 插件功能评估并确定最终需求;
  2. 插件概括性设计(包括不限于菜单、参数及数据库结构等);
  3. 便写插件代码及测试;
  4. 整理插件说明书,包括适用版本、功能概述、兼容性声明、使用说明及安装和卸载方法等;
  5. (公开)发布您的插件;

命名规范

为了更好的统一和规范插件与系统程序编码风格,海盗系统按照如下规范对程序及模板进行命名约束,请在设计插件时尽可能遵循此规范:

  • 可以通过浏览器访问的模块文件,以 .inc.php 命名
  • model类文件以标准化的ThinkPHP命名规范 Model.class.php;
  • hook 类文件以 .class.php 命名
  • 模板文件,以 .htm 命名;存放至 ./plugin/identifier/template 命名;
  • 内容为空的目录必须存放一个 index.htm 的空白文件,防止目录被列出;

现在开始

在开始之前,请首先打开入口文件 ./index.php ,找到:

define('APP_DEBUG', false);

false修改为true,实际上是打开海盗的开发者模式。

然后进入后台,找到插件菜单“设计新插件”,按照提示填写您的信息。请注意:插件标识符请不要设置得过短、或有可能与其它插件重复的命名。建议使用您的一个特有的前缀,例如hd_来加以区别。

插件创建成功后,请在 ./plugin/ 插件目录中创建与标识符同名的目录名,如 ./plugin/hd_hello/ 用以存放插件文件及资源。

插件模块

插件模块分为「后台菜单」和「程序脚本」,其中「后台菜单」主要用于通过插件在后台左侧添加自定义菜单供用户快捷使用。这里我们主要介绍「程序脚本」,「程序脚本」共分为三种类型:

  • 嵌入脚本:嵌入式开发、动态更改数据;
  • 缓存接口:插件自定义缓存接口,会在系统后台“更新缓存”时同步触发已开启的插件缓存接口;
  • 插件菜单:用于直接在插件管理面板添加子菜单,通常可用于设置且与系统其他功能无明显交互时使用。

注意:纯访问性质的接口,不需要在后台以模块化的形式配置,前台可直接通过 plugin.php?id=插件标识:模块名 访问

变量配置

在海盗的插件设计面板,提供了一个通用的可视化编辑变量的界面。它在大多数情况下可实现插件的灵活插件配置。通用情况下,应优先使用插件变量配置程序来实现插件配置,当然,您也可以自由设计更为灵活的后台管理模块将数据保存至数据库表或缓存文件。

系统默认内置支持如下类型的变量:

  • 字串(text)
  • 数字(number)
  • 文本(textarea)
  • 单选(radio)
  • 复选(checkbox)
  • 单项选择(select)
  • 多项选择(selects)
  • 日期/时间(datetime)
  • 用户等级单选(usergroup)
  • 用户等级多选(usergroups)

如果您有更好的建议,欢迎与我们取得联系,我们会优先并慎重考虑您的意见,根据产品自身情况酌情开放更多的接口供开发者使用。

参数读取

在海盗系统中,调用系统缓存统一通过“getcache()”函数调用,所有插件的配置可以通过getcache('plugins', 'commons')来获得。

而在插件缓存接口、嵌入接口类中,可以通过$this->pluginvar来获取「当前插件」的所有变量,并以数组的形式返回。

必发88专业承接海盗系统(Haidao)、Destoon系统、echsop、DTcms系统二次开发、模板制作,QQ:523680272