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:
- 注意: