插件可以做

  • 阻断所有用户输入数据进行处理
  • 对指定模板加在 JS 或 CSS
  • 通过 JS 或 CSS 修改页面
  • 改变模板中的变量数据
  • 添加计划任务
  • 建立新页面

插件不可以做

  • 改变现有模板 HTML 解构 (可以通过手动修改模板解决, 但更推荐通过 JS 或 CSS 修改页面)

如何新建页面

如果一个插件需要新增页面 (例如金钱系统 等), 建议直接在 app 下添加目录, 按照二次开发手册进行开发

如何建立一个插件

WeCenter 系统 plugins 下每一个目录代表一个插件, 每一个插件需要有一个描述文件, 名为 config.php, 这里以 aws_tinymce 的描述文件为例:

一个描述文件至少需要有 标题, 版本, 描述, 最低 Build 要求

描述中的 contents 数组可以对任意控制部署代码

其中 setups 中部署的代码会在相应控制器最开始运行的时候执行, 这时可以修改各种 $_GET, $_POST 数据, 添加 CSS JS 等.

actions 中的部署的代码会在模板解析之前运行, 这时可以对赋给模板的各种数据进行修改, 如果动作没有输出模板则无效, 但是有一种例外就是计划任务, 计划任务是程序提供的一种定时执行代码的功能, 可用的选项参见 app/crond/main.php

(*) 部署代码的 include 文件位置都是插件相对目录

每个插件可以注册一个 Model 进行数据库操作, $this->model(‘name’) 访问, Model name, 以 _class 结尾, 访问的时候 name 中的 _class 可以省略.