修罗BBS Hook 机制
hark323 2021-8-23

 

 

修罗BBS模板文件夹里的模板文件,还会调用插件文件里的模板文件

 

这是我一个菜鸡的经验,下面的文章是我百度出来的,可以很好的解释为什么会调用插件文件夹里的模板文件,

 

我在修改发帖时间为年月日时,模板文件夹里  就有调用插件文件夹里HOOK文件夹里的网页

 

供大家参考,高手请飞过。

 

 

 

 

 

Xiuno BBS的插件机制分为两种,一种是Hook,一种是Overwrite。所谓Hook,就是往代码里插入代码,多个插件的代码合并后插入到hook指定的位置,最后生成的代码存放于tmp目录,被include

在”Hello, Xiuno Plugin“章节中的实例就是基于 Hook 的。

文件 view/htm/header.inc.htm 中的代码,包含一个 hook header_body_start.htm,我们来将代码插入到此处:

...

<!--{hook header_body_start.htm}-->

...

制作插件 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,内容为:

...

Hello,Pugin A Hello,Pugin B

...

因为程序在 include 时候做了转换:

include_include('./view/htm/header.inc.htm');

//基本等价于:

include''./tmp/view_htm_header_body_start.htm;

 

最新回复 (1)
全部楼主
  • mowang
    2021-8-25 2
    0
    沙发我没有,板凳我没有,板也没有,只好站在后面排队支持! 
返回