首页/zblog模板设计外包/zblog模版插件开发文档

zblog模版插件开发文档

发布-xiaoming | 浏览量-

插件开发文档
1.说明
插件采用系统提供的各种接口,用来实现一些高级定制功能,让Z-Blog变的更加强壮和有趣(Very Good,Very Strong.)。
2.目录及命名要求
插件是放在系统的Plugin目录下的,插件必须有自己的目录名且不与其它插件同名。
插件目录名即是插件的ID名称,系统也以此做为识别。
插件必须设定正确的plugin.xml文件,系统依赖此文件对插件进行管理。
plugin.xml文件里的&rdquo;<id>&ldquo;节点一定要设定为插件的ID名称(即插件的目录名称),这非常重要。
更多的提示与技巧 :
1.提示注意
在公共区(例如include.asp)定义常量、变量和函数名时,一定要加上插件ID做前缀,防止冲突。
插件管理页面在头部要CheckPluginState(&ldquo;插件ID名称&rdquo;)来检查插件是否已启用,插件未启用则一定要中止执行。
一定要注意安全问题,注意检查用户权限,如果对游客开放的注意检查提交的数据,以免被注入。
系统接口中有两个接口是禁止使用的:Action_Plugin_System_Initialize和Action_Plugin_System_Initialize_WithOutDB,在系统初始化前运行插件,有可能接管整个系统
插件优先等级的问题,优先被启用的插件优先等级就高,可以第一时间处理所挂接口的数据,但是在同一接口处挂接的其它插件将会排队继续处理数据,这一点也要注意。
插件中函数的参数要设定好是ByRef还是ByVal,(ByVal是传递值 源数据不会被修改,你可以把这个值当作自己的局部变量来使用;ByRef是传递地址,源数据可能被修改,你对这个变量的操作将对你传入的那个变量产生影响,就像指针的感觉。 )防止出现一些莫名其妙的干扰问题。
2.相关技巧
插件机制是公开和公用的,如果某个插件本身带有属于自己的接口申明及调用的话,别的插件同样可以挂接到这个插件的接口上来。
主题中所带的插件的优先等级为0级,最高且不可调整,只要使用该主题,其中的插件就自动被启用。
接口是可以间接挂接的,打个比方,你可以在挂接一个Action接口时加入挂接另一个Filter接口的代码,这样会十分的灵活。

3.plugin.xml格式规范说明
样例文档
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<plugin>
<id>BackupDB</id>
<name>BackupDB</name>
<note>Z-Blog的数据库备份及升级程序</note>
<type>inline</type>
<path>main.asp</path>
<include>include.asp</include>
<level>1</level>
<author>
    <name>Sipo</name>
    <url>http://www.35ui.cn/</url>
    <email></email>
</author>
<version>1.1</version>
<modified>2007-12-26</modified>
</plugin>plugin.xml
节点说明
plugin, 表示此文档为插件信息.
id, 插件ID, 即存放该插件的目录名.
name, 插件名称, 中英文均可.
note, 插件简介.
type, 无须接口调用的插件设置为outline,其它的设为inline.
path, 插件管理页的名称,无管理页的插件可删除此节点.
include, 插件接口挂接页面,常规约定为include.asp,无须接口调用的插件可删除此节点.
level, 插件要求管理权限,1为管理员,2为高级用户,3为中级用户,4为普通用户,5为游客.
author, 插件作者.
name, 作者名称.
url, 作者网址.
email, 作者电邮.
version, 插件的版本号.
modified, 最后更新日期.
4.接口分类与调用
接口共分三大类,具体请看接口分类与API。Z-Blog的API共分为三大类,分别是
行为类接口:Action Api
过滤器接口:Filter Api
纯输出接口:Response Api
 
针对三大类的接口,系统提供了3种接口的挂接方式,分别是:
动作接口的调用过程
Call Add_Action_Plugin("API名","要执行的代码段")过滤器接口的调用过程
Call Add_Filter_Plugin("API名","要挂接的函数名")纯输出接口的调用过程
Call Add_Response_Plugin("API名","要输入的字符串")5.插件的注册
Z-Blog系统的插件是采用主动插入方式来通知系统。所以必须在include.asp文件中调用RegisterPlugin函数才能让插件进入系统的插件体系。
'注册插件
Call RegisterPlugin("插件ID名称","ActivePlugin_插件ID名称")还必须在&rdquo;ActivePlugin_插件ID名称&rdquo;函数中完成对接口的挂接工作,例如:
'具体的接口挂接
Function ActivePlugin_插件ID名称()
  Call Add_Action_Plugin("目标接口","具体执行代码")
End Function6.插件的激活和禁用执行函数
系统设定每个插件可以提供两个特殊的函数来执行激活和禁用过程中的一次性的任务。
如果你的插件有这种需求,请在include.asp里使用这两个函数,系统会在启用和禁用这个插件时自动执行相应函数。
Function InstallPlugin_插件ID名称()
'代码
End FunctionFunction UninstallPlugin_插件ID名称()
'代码
End Function7.主题里的插件
主题可包含一个插件,这个插件的ID名称就等于主题的ID名称。
主题里的插件文件必须直接放置在主题目录下的Plugin目录里。
主题里的插件无plugin.xml,其信息全部记录在了主题的配置文件theme.xml文件的plugin节点里。
theme.xml文件里的plugin节点的配置方法与独立插件的plugin.xml方法完全一致。
主题里的插件的优先级最高且不可调整,只要启用这个主题,插件自动激活,直到切换其它主题为止。

原文地址:http://www.35ui.cn/post/20110605484.html

标签zblog模板修改标签大全

上一条: ZBLOG标签设置与优化大全
下一条: zblog模板如何做好网站SEO优化

或许你还对下面的文章感兴趣