一、接口分类
为了应对各种各样的扩展需求,Z-BlogPHP 提供了几类插件接口供开发者使用,简要说明如下:
1、「管理页面」输出类:这一类接口一般用于在后台现有管理页面中添加按钮或者扩展选项内容;
2、「前台页面」输出类:在网页内容输出到浏览器前进行变更或追加,包括额外引入样式、脚本;
3、「数据写入」处理类:在文章、评论等数据提交的过程中,具体又分为:
(1)Core:在数据提交前介入,可用于过滤提交的数据内容;
(2)Succeed:在数据提交成功后介入,可用于数据提交后的事件处理,如更新自定义模块数据等。
4、「魔术方法」扩展类:用于扩展系统类中的可用方法;
5、「流程/事件」监听类:严格来说,全部接口都是「监听」,监听接口本身被触发,然后执行指定的操作,或者对接口传递的数据进行处理。除「魔术方法」外,前三种是类别其实是以「功能目的」来划分的,也只是较常用的三种。
注意:下边列表并不严格对应上边分类;
二、「管理页面」输出
1、后台全局输出
接口示例:
function ActivePlugin_demoAPP() { Add_Filter_Plugin('Filter_Plugin_Admin_Header','demoAPP_Admin_Header'); Add_Filter_Plugin('Filter_Plugin_Admin_TopMenu','demoAPP_Admin_TopMenu'); } function demoAPP_Admin_Header() { global $zbp; echo '<script src="' . $zbp->host . 'zb_users/plugin/demoAPP/script/plugin.js"></script>'; echo '<style type="text/css">#divMain2 {margin-bottom: 6rem;}</style>'; } function demoAPP_Admin_TopMenu(&$topmenus) { global $zbp; $topmenus[] = MakeTopMenu("root", "demoAPP管理", $zbp->host . "zb_users/plugin/demoAPP/main.php", "", ""); } // Filter_Plugin_Admin_Footer 和 Filter_Plugin_Admin_LeftMenu 同理; // 对应有 MakeLeftMenu() 函数可用