### **理解插件的含义**
先通读《插件开发指南》,理解插件和钩子的含义,以及插件的安装、执行、配置、卸载流程。
### **弄清自己待开发的插件需求-要完成的逻辑业务**
问自己几个问题:
1.插件的基本信息(名称、标识、描述、状态、作者、版本)是哪些
2.插件的用途是扩展显示还是控制数据
3.插件对使用控制器是否有要求,要不要单独的数据表(要调用插件的模型)
4.插件要用哪些钩子、一个还是多个
5.插件需要配置不,要的话,有哪些选项,要不要用分组,要不要自定义配置显示模板
6.插件需要后台不,默认显示数据,还是高级后台(有自己的管理界面和详情等)
### **快速创建插件,进行插件的完善**
进入“扩展”-》“插件管理”点“快速创建”进入创建阶段,填写基本信息,按照自身的需求、想好的问题勾选适当的选项。 配置目前还没做到可视化,大家先默认创建好文件,然后去文件里修改,都是数组,参照“插件后台开发”里的配置说明。
### **例子**
首先清楚插件就是符合一定规范拥有一定目录结构的类文件。
然后清楚自己要开发的插件的要求,在什么位置显示、是否有配置文件、是否需要外部url访问、是否需要后台显示。
接下来我们就用后台快速开发一个Example插件示范。
首先,进入后台->扩展->插件列表->快速创建。会出现一个如下的页面。
![2015-08-04/55c07e26addd0](https://box.kancloud.cn/2015-08-04_55c07e26addd0.png)
由于仅作简单的示范,我们不需要配置文件和外部控制器,都用默认的。钩子我们选‘documentDetailAfter’;最新版已经支持多选了。
可以点“预览”按钮看下将要生成的类文件,如下图:
![2015-08-04/55c07e6d9b09a](https://box.kancloud.cn/2015-08-04_55c07e6d9b09a.png)
点确定后,出现“创建成功”,并且列表里出现“示列”这个插件表示插件已经创建成功了。
然后我们可以看见生成的类文件 documentDetailAfter方法里什么都没有。我们在里面输出点文字,见下图:
![2015-08-04/55c07ec426f56](https://box.kancloud.cn/2015-08-04_55c07ec426f56.png)
其实和我们开发widget方法没啥太大区别。只不过这里前台用hook函数调用类里的钩子方法。
因为本产品使用了命名空间,所以插件类的引入需要通过命名空间的写法,才能正确自动加载类。而我们的快速创建就是为你们指定好插件定义信息后,自动创建一些规范的目录文件。所以你们只需要考虑插件的一些信息即可。
如果需要外部url 访问插件里的控制器。需要用addons_url(‘插件名://控制器名/方法’) 这样访问控制器。控制器里必须继承Home/AddonsController类。不能继承后台的。那个里面很多方法插件用不到,是为后台所定制的。要使用,只需在创建时候勾选‘是否需要外部访问’,就会自动创建控制器目录和文件,还有Model目录。然后自己按需修改吧。
- 准备
- 概览
- 获取
- 安装
- 后台管理
- 首页
- 内容
- 系统
- 网站设置
- 配置管理
- 菜单管理
- 分类管理
- 模型管理
- 导航管理
- 数据备份
- 扩展
- 用户
- 用户信息
- 用户行为
- 行为日志
- 权限管理
- 应用
- 架构设置
- 应用架构及目录结构
- 独立模型
- 插件设计
- 用户行为设计
- 权限设计
- 文档模型设计
- 分类设计
- 二次开发
- 命名规范与编码规范
- 数据字典
- 公共函数和库函数使用规范
- 模板开发指南
- 权限管理指南
- 插件开发指南
- 什么是插件?
- 什么是钩子?
- 插件的开发流程
- 插件后台的开发
- 插件开发注意事项
- 模型扩展开发指南
- 独立模型扩展
- 文档模型扩展
- 附录
- 配置参考
- 函数库参考
- Common函数库
- admin函数库
- Home函数库
- 类库参考