Xiuno BBS的插件机制分为两种,一种是Hook,一种是Overwrite。所谓Hook,就是往代码里插入代码,多个插件的代码合并后插入到hook指定的位置,最后生成的代码存放于tmp目录,被include
在”Hello, Xiuno Plugin“章节中的实例就是基于 Hook 的。
文件 view/htm/header.inc.htm 中的代码,包含一个 hook header\_body\_start.htm,我们来将代码插入到此处:
...
<body>
\<!--{hook header\_body\_start.htm}-->
<div id="wrapper">
...
制作插件 A:
plugin/
my\_plugin\_a/
conf.jsonhook/
header\_body\_start.htm
假定 header\_body\_start.htm 的内容为:
Hello,Pugin A
有插件 B:
plugin/
my\_plugin\_B/
conf.jsonhook/
header\_body\_start.htm
假定 header\_body\_start.htm 的内容为:
Hello,Pugin B
那么最后生成的文件位置在 tmp/view\_htm\_header\_body\_start.htm,内容为:
...
<body>
Hello,Pugin A Hello,Pugin B
<div id="wrapper">
...
因为程序在 include 时候做了转换:
include\_include('./view/htm/header.inc.htm');
//基本等价于:
include''./tmp/view\_htm\_header\_body\_start.htm;
- Xiuno BBS 入门
- Xiuno BBS 是什么?
- 如何获取?
- 如何安装?
- URL-Rewrite 网址美化
- URL-Rewrite 网址美化
- 转发规则Nginx:
- Apache:
- Apache .htaccess
- Apache httpd.conf
- 性能优化
- 前端技术栈
- Bootstrap 4
- Bootstrap 4.0
- 效果:
- 中文资料:
- JQuery 3
- JQuery 3.1
- 效果:
- Tether.js
- Tether.js
- 效果:
- 官方网站:
- Fontawesome
- Fontawesome
- 部分图标预览
- xiuno.js
- xiuno.js 是什么?
- Xiuno.js 是什么?
- 效果:
- $.alert()
- $.alert()
- 程序结构
- 目录结构
- Xiuno BBS 4.0 目录结构
- 表结构
- Xiuno BBS 4.0 表结构
- MVC 分层架构
- MVC 分层架构
- 图例:
- 插件开发
- Hello, Xiuno Plugin!
- Hello, Xiuno Plugin!
- 补充:
- hook 机制
- Hook 机制
- overwrite 机制
- Overwrite 机制
- 风格模板
- 风格模板
- 发布你的插件
- 风格模板
- 插件示例
- 插件示例
- 一个单页的例子
- 一个单页的例子
- 常见问题
- post 表中的 message message_fmt 字段的区别?
- 论坛帖子数据
- 如何调用百度编辑器?
- 如何调用百度编辑器?
- Xiuno BBS 4.0 中的几种缓存 API
- 插件互相卸载机制
- 插件互相卸载机制
- 其他
- JSON API
- GET:
- POST:
- 注意: