首页
赞助
分类
申请
Infini
资源
闲聊
排行榜
搜索
资源
首页
赞助
分类
申请
Infini
资源
闲聊
排行榜
搜索
申请
Infini
资源
闲聊
你好!欢迎来访!
请登录后探索更多精彩内容!
登录
注册
0
0
0
资源
XiunoBBS插件 Hook机制
XiunoBBS插件 Hook机制
Admin
发布于
2025-3-10
15
0
Xiuno BBS的插件机制分为两种,一种是Hook,一种是Overwrite。
尽量使用 hook,而少用 overwrite(一般 overwrite 一下首页),这样就不怕主程序变动。
所谓Hook,就是往代码里插入代码,多个插件的代码合并后插入到hook指定的位置,最后生成的代码存放于tmp目录,被include。
在 插件示例 中的实例就是基于 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.json
hook/
header_body_start.htm
假定 header_body_start.htm 的内容为:
Hello, Pugin A
有插件 B:
plugin/
my_plugin_B/
conf.json
hook/
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;
XiunoBBS预埋了很多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 发帖页
最新回复
(
0
)
暂无评论
请先登录后发表评论!
登录
注册
返回
Admin
UID:1
传奇
版块热门
1
Xiuno BBS模板风格开发常用的参考函数
2
跟随浏览器的黑暗模式
3
Xiuno BBS 4.0 表结构 开发模板插件者必须知道的数据库表函数
4
Xiuno BBS4.0官方开发手册
5
XiunoBBS插件 Hook机制
6
支付宝账号修改
7
Xiuno BBS 中的几种缓存API
8
XiunoBBS插件 Overwrite机制
9
Xiuno BBS目录结构
请先登录后发表评论!
暂无评论