我们来制作一个简单的插件。
首先,我们需要了解下 Xiuno BBS 4.0 的文件结构:
conf/ 配置文件目录
lang/ 语言包 log/ 日志目录
tmp/ 临时目录
model/ 数据调用(重用度高)
route/ 业务逻辑(重用度低) plugin/ 插件目录
upload/ 上传文件 view/ 模板、静态资源(js, css, htm, font)
xiunophp/ 公共的函数库
admin/ 后台管理
index.php 入口程序
我们重点关注:plugin, model, view, route 这几个目录。
Xiuno BBS 的插件是基于 AOP 机制,所谓的面向切面编程,也就是往代码里插入代码,合并后再执行(最后合并后的代码存放于 tmp 目录下),一个插件一个目录,我们来示范一下最简单的 Hello, Plugin!
1.打开 index.php,修改 DEBUG 为 2 (这样可以及时看到效果,上线后还原为 0)
!defined('DEBUG') AND define('DEBUG', 2);
2.新建目录,文件:
plugin/
my_hello/
conf.json hook/
body_start.htm
- body_start.htm 文件内容:
<h1>Hello, Plugin</h1>
- conf.json 文件内容:
{ "name":"我的第一个 Xiuno BBS 插件", "brief":"我的插件介绍。", "version":"1.0", "bbs_version":"4.0", "installed":1, "enable":1, "hooks_rank":[], "overwrites_rank":[], "dependencies":[]
}
5.为插件制作一个图标,宽 54 像素,高 54像素,我们这里拷贝一个 plugin/xn_ad/icon.png
【完】
补充:
Xiuno BBS 预埋了很多 hook,你可以通过打开源代码查找你想插入的地方,比如 view/htm/header.inc.htm 中:
如果你要插入到钩子所在位置,只需要在你所在的插件目录的 hook 目录下,建立同名文件即可。比较常见的几个文件:
view/htm/header.inc.htm 头部模板文件
view/htm/footer.inc.htm 页脚模板文件
view/htm/index.htm 首页模板文件
view/htm/forum.htm 列表页模板文件
view/htm/thread.htm 详情页模板文件
view/htm/post.htm 发帖模板页面
route/index.php 首页
route/forum.php 列表页
route/thread.php 详情页
route/post.php 发帖页
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容