Wecenter插件系统开发规范
1.命名规范
插件命名以wc_作为前缀+插件名,如插件test,即wc_test
2.目录新建
目录新建在根目录下plugin文件夹下,如插件名test,目录结构就是/plugins/wc_test/
3.目录结构
目录包含内容必须要有配置文件、核心类,非必要的有模型类、静态资源、第三方类、页面模板等,如test,则玩着目录如下
wc_test
|-config.php 配置文件
|-test.php 核心类
|-test_model 模型类
|-view 视图模板目录
|-static 静态资源目录
|-install.sql 安装sql
|-uninstall.sql 卸载sql
|-upgrade.sql 升级sql
4.配置文件
Config.php配置文件 返回一个多维数组,包含有:
name: 插件标识
title: 插件标题名称
intro: 插件介绍
author : 插件作者
version: 插件版本
state : 插件状态
config: 也是一个数组,包含所需的配置项,如:
'config'=>[
'ad_plugin_enable' =>
array (
'title' => '广告开启',
'type' => 'radio',
'value' => 'Y',
'options' =>
array (
'Y' => '开启',
'N' => '关闭',
),
)
],
以上的配置config就是后台广告插件的配置显示效果,
'options' 对应的是配置项的值,
'value' 是默认值,
'type' 是配置类型,
'title' 是配置名称
常用的有text,select,radio,CheckBox
ad_plugin_enable是开发者自己定义,调用的时候调用此键名即可
5.核心类
核心类同样继承自AWS_CONTROLLER,包含5个固定方法,即构造方法 install安装,uninstall卸载,enable启用,disable禁用,构造方法获取插件的配置和插件相关信息,安装、卸载、启用、禁用四个方法默认是调用系统的方法,也可以自定义,在方法里自行处理相关逻辑。
除了这5个方法之外,开发者可以自定义其他的方法进行调用。
6.模型类
模型类的定义名称需后接_model方可,如test_model,内部的定义与使用与model目录下的模型相同,
另注意一点,此处的模型名不可与model目录下的模型重名,如果重名,会去调用model目录下的模型,从而会导致找不到相关的方法一类的错误。
调用方法还是$this->model()进行调用。
6.static、view静态资源、视图目录
Staic目录存放css\js等静态资源
View 视图目可存放后台以及前台的视图模板
后台视图的要在目录下新建子目录admin,前台的模板直接放在view下即可,在核心类中,通过 PLUTPL::output('ad/banner');渲染页面,其中ad是插件名或者标识,banner是页面名称
后台的只需加上admin即可,如PLUTPL::output('ad/admin/edit');。
7.安装、卸载、升级
安装、卸载、升级在后台都有相对应的操作,对应相应的sql执行即可。
8.插件调用
正常的调用只需用公共方法hook()方法调用即可,在后台或者其他的页面需要调用插件方法进行页面调用或方法的时候,可以通过doact方法,前台explore/doact 后台admin/plugin/doact ,如
添加广告按钮需要调用插件添加广告的方法,此处是超链接,可以通过admin/plugin/doact/?p=ad&a=edit进行传参调用,其中p和a是必传的,p是插件名,a是方法名。
暂无评论