Wecenter插件系统开发规范

    fanta 发表了文章 • 0 个评论 • 397 次浏览 • 2019-06-14 13:31 • 来自相关话题

    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' 是配置名称



    常用的有textselectradioCheckBox



    ad_plugin_enable是开发者自己定义,调用的时候调用此键名即可



    5.核心类



    核心类同样继承自AWS_CONTROLLER,包含5个固定方法,即构造方法 install安装,uninstall卸载,enable启用,disable禁用,构造方法获取插件的配置和插件相关信息,安装、卸载、启用、禁用四个方法默认是调用系统的方法,也可以自定义,在方法里自行处理相关逻辑。



    除了这5个方法之外,开发者可以自定义其他的方法进行调用。



    6.模型类



    模型类的定义名称需后接_model方可,如test_model,内部的定义与使用与model目录下的模型相同,



    另注意一点,此处的模型名不可与model目录下的模型重名,如果重名,会去调用model目录下的模型,从而会导致找不到相关的方法一类的错误。



    调用方法还是$this->model()进行调用。



    6.staticview静态资源、视图目录



    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进行传参调用,其中pa是必传的,p是插件名,a是方法名。


    编辑器插件出问题了,

    imningfeng 回复了问题 • 3 人关注 • 2 个回复 • 230 次浏览 • 2019-06-03 16:54 • 来自相关话题

    Summernote富文本编辑器插件

    mayer888 回复了问题 • 10 人关注 • 8 个回复 • 1292 次浏览 • 2019-05-31 23:31 • 来自相关话题

    谁可以提供个自问自答的插件?

    Coding思维 回复了问题 • 2 人关注 • 1 个回复 • 193 次浏览 • 2019-05-20 09:02 • 来自相关话题

    Summernote编辑器无法编辑已有的回答

    回复

    imningfeng 发起了问题 • 1 人关注 • 0 个回复 • 251 次浏览 • 2019-04-16 17:51 • 来自相关话题

    手机注册插件无法生效

    回复

    程_什么么 发起了问题 • 0 人关注 • 0 个回复 • 366 次浏览 • 2019-01-30 22:25 • 来自相关话题

    非官方 简单广告插件

    a595975822 发表了文章 • 1 个评论 • 504 次浏览 • 2019-01-24 17:52 • 来自相关话题

    非官方广告插件 添加时需要选择 页面类型, 广告位置:  广告位置有 顶部,左侧,右侧,底部,其他;  广告展现样式有单的的CSS文件,用户可自定义设置; 有需要的 QQ找我   后台添加广告: 前台一行HTML即可调用;  ...查看全部
    非官方广告插件
    添加时需要选择 页面类型, 广告位置:  广告位置有 顶部,左侧,右侧,底部,其他;  广告展现样式有单的的CSS文件,用户可自定义设置; 有需要的 QQ找我
     
    后台添加广告: 前台一行HTML即可调用; 
     <div class="newsad_top clearfix js_newsad container" data-pamr="type-1__position-1__locus-1,4" ></div> 



    广告.jpg

    应用市场上线以及插件安装方式说明

    a595975822 回复了问题 • 9 人关注 • 10 个回复 • 2031 次浏览 • 2019-02-14 13:21 • 来自相关话题

    【预售】最新WeCenter3.30三栏式模板,有演示地址,可测试

    fanta 回复了问题 • 10 人关注 • 8 个回复 • 1470 次浏览 • 2019-01-19 10:57 • 来自相关话题

    支持官方应用市场,发布两套3.30模板(PC+手机端)

    aa123456 回复了问题 • 10 人关注 • 7 个回复 • 1182 次浏览 • 2019-01-03 13:09 • 来自相关话题