探索,發現,愛好、學習,記錄,分享。
學海無涯,天涯若比鄰,三人行,必有我師。

Xiuno Plugin

我们来制作一个简单的插件。

首先,我们需要了解下 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 
  1. body_start.htm 文件内容:
<h1>Hello, Plugin</h1> 
  1. 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

6.访问前台,看看效果吧!

【完】

补充:

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 发帖页
版權聲明:本文采用知識共享 署名4.0國際許可協議 [BY-NC-SA] 進行授權
轉載事宜:如需轉載需徵得應允,轉載必須注明來源於本站的信息。
文章名称:《Xiuno Plugin》
文章链接:https://www.thefreesky.com/blog/25854.html
本站資源僅供個人學習交流,請於下載後24小時內刪除,不允許用於商業用途,否則法律問題自行承擔。

評論 抢沙发