牛骨文教育服务平台(让学习变的简单)

理解插件的含义

先通读《插件开发指南》,理解插件和钩子的含义,以及插件的安装、执行、配置、卸载流程。

弄清自己待开发的插件需求-要完成的逻辑业务

问自己几个问题:
1.插件的基本信息(名称、标识、描述、状态、作者、版本)是哪些
2.插件的用途是扩展显示还是控制数据
3.插件对使用控制器是否有要求,要不要单独的数据表(要调用插件的模型)
4.插件要用哪些钩子、一个还是多个
5.插件需要配置不,要的话,有哪些选项,要不要用分组,要不要自定义配置显示模板
6.插件需要后台不,默认显示数据,还是高级后台(有自己的管理界面和详情等)

快速创建插件,进行插件的完善

进入“扩展”-》“插件管理”点“快速创建”进入创建阶段,填写基本信息,按照自身的需求、想好的问题勾选适当的选项。 配置目前还没做到可视化,大家先默认创建好文件,然后去文件里修改,都是数组,参照“插件后台开发”里的配置说明。

例子

首先清楚插件就是符合一定规范拥有一定目录结构的类文件。

然后清楚自己要开发的插件的要求,在什么位置显示、是否有配置文件、是否需要外部url访问、是否需要后台显示。

接下来我们就用后台快速开发一个Example插件示范。

首先,进入后台->扩展->插件列表->快速创建。会出现一个如下的页面。
2015-08-04/55c07e26addd0

由于仅作简单的示范,我们不需要配置文件和外部控制器,都用默认的。钩子我们选‘documentDetailAfter’;最新版已经支持多选了。

可以点“预览”按钮看下将要生成的类文件,如下图:
2015-08-04/55c07e6d9b09a

点确定后,出现“创建成功”,并且列表里出现“示列”这个插件表示插件已经创建成功了。

然后我们可以看见生成的类文件 documentDetailAfter方法里什么都没有。我们在里面输出点文字,见下图:
2015-08-04/55c07ec426f56

其实和我们开发widget方法没啥太大区别。只不过这里前台用hook函数调用类里的钩子方法。

因为本产品使用了命名空间,所以插件类的引入需要通过命名空间的写法,才能正确自动加载类。而我们的快速创建就是为你们指定好插件定义信息后,自动创建一些规范的目录文件。所以你们只需要考虑插件的一些信息即可。

如果需要外部url 访问插件里的控制器。需要用addons_url(‘插件名://控制器名/方法’) 这样访问控制器。控制器里必须继承Home/AddonsController类。不能继承后台的。那个里面很多方法插件用不到,是为后台所定制的。要使用,只需在创建时候勾选‘是否需要外部访问’,就会自动创建控制器目录和文件,还有Model目录。然后自己按需修改吧。