插件的开发流程
理解插件的含义
先通读《插件开发指南》,理解插件和钩子的含义,以及插件的安装、执行、配置、卸载流程。
弄清自己待开发的插件需求-要完成的逻辑业务
问自己几个问题:
1.插件的基本信息(名称、标识、描述、状态、作者、版本)是哪些
2.插件的用途是扩展显示还是控制数据
3.插件对使用控制器是否有要求,要不要单独的数据表(要调用插件的模型)
4.插件要用哪些钩子、一个还是多个
5.插件需要配置不,要的话,有哪些选项,要不要用分组,要不要自定义配置显示模板
6.插件需要后台不,默认显示数据,还是高级后台(有自己的管理界面和详情等)
快速创建插件,进行插件的完善
进入“扩展”-》“插件管理”点“快速创建”进入创建阶段,填写基本信息,按照自身的需求、想好的问题勾选适当的选项。 配置目前还没做到可视化,大家先默认创建好文件,然后去文件里修改,都是数组,参照“插件后台开发”里的配置说明。
例子
首先清楚插件就是符合一定规范拥有一定目录结构的类文件。
然后清楚自己要开发的插件的要求,在什么位置显示、是否有配置文件、是否需要外部 url 访问、是否需要后台显示。
接下来我们就用后台快速开发一个 Example 插件示范。
首先,进入后台->扩展->插件列表->快速创建。会出现一个如下的页面。
由于仅作简单的示范,我们不需要配置文件和外部控制器,都用默认的。钩子我们选‘documentDetailAfter’;最新版已经支持多选了。
可以点“预览”按钮看下将要生成的类文件,如下图:
点确定后,出现“创建成功”,并且列表里出现“示列”这个插件表示插件已经创建成功了。
然后我们可以看见生成的类文件 documentDetailAfter 方法里什么都没有。我们在里面输出点文字,见下图:
其实和我们开发 widget 方法没啥太大区别。只不过这里前台用 hook 函数调用类里的钩子方法。
因为本产品使用了命名空间,所以插件类的引入需要通过命名空间的写法,才能正确自动加载类。而我们的快速创建就是为你们指定好插件定义信息后,自动创建一些规范的目录文件。所以你们只需要考虑插件的一些信息即可。
如果需要外部 url 访问插件里的控制器。需要用 addons_url(‘插件名://控制器名/方法’) 这样访问控制器。控制器里必须继承 Home/AddonsController 类。不能继承后台的。那个里面很多方法插件用不到,是为后台所定制的。要使用,只需在创建时候勾选‘是否需要外部访问’,就会自动创建控制器目录和文件,还有 Model 目录。然后自己按需修改吧。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论