欢迎光临
我们一直在努力

PJBlog 2 插件制作说明

首先是让我们了解PJblog2 的插件是如何工作的。

blog下面有个plugins的目录,里面包含了PJBlog2的插件。新下载的PJBlog2自带了三个插件。分别是留言本插件、个人档案插件和最新日志插件。

插件的安装: 登陆后台 “界面设置”->“安装插件”这里会列出可以安装的插件。已经安装的插件,可以到“已装插件管理”进行插件管理,或者到“设置模块”里修改。

 

插件的组成文件

      插件必须要 install.xml 文件支持,这个文件保存了插件所使用的基本信息。我们来看看 install.xml 文件结构,这里以留言本 install.xml 作为例子

 

 

<?xml version="1.0" encoding="UTF-8"?>

<PluginInstall>

 <main>

  <PluginName>GuestBookForPJBlog</PluginName>

  <PluginTitle>GuestBook</PluginTitle>

  <PluginType>function</PluginType>

  <PluginHtmlCode><![CDATA[]]></PluginHtmlCode>

  <PluginASPCode><![CDATA[]]></PluginASPCode>

  <PluginPath><![CDATA[guestbook.asp]]></PluginPath>

  <SettingFile>setting.xml</SettingFile>

  <CreateTableSQL><![CDATA[]]></CreateTableSQL>

  <UpdateTableSQL><![CDATA[]]></UpdateTableSQL>

  <DropTable></DropTable>

  <Author>PuterJam</Author>

  <pubDate>2005-7-31</pubDate>

  <About><![CDATA[PJblog 留言本激活插件 1.0]]></About>

 </main>

 <SubItem>

   <item>

     <PluginTitle>最新留言</PluginTitle>

     <PluginType>sidebar</PluginType>

     <PluginHtmlCode><![CDATA[<$NewMsg$>]]></PluginHtmlCode>

     <PluginASPCode><![CDATA[代码]]></PluginASPCode>

   </item>

 </SubItem>

</PluginInstall>

 

 

<main> 插件主要信息

<PluginName> 插件名称,只允许英文和数字,这个名字作为插件的标识部允许重复

<PluginTitle> 插件标题,一般用来显示在侧边或在菜单上

<PluginType> 插件类型,目前PJBlog的插件和模块分三个类型

Content 类型: 内容模块类型,一般显示在主体部分里。比如可以在日志列表上面或底

部加上内容。可以在设置模块, 已装插件管理里面设置

Sidebar类型: 侧边模块类型,显示在侧边上的模块,比如系统自带的日历,归档等

可以在设置模块, 已装插件管理里面设置

         function类型: 功能插件和上面两种类型有所不同。这个无法在设置模块里设置,必须

先安装然后在,已装插件管理里面找到该类型的插件

<PluginHtmlCode> 插件包含的HTML 代码,允许给插件添加html代码,只对contentsidebar类型有效

<PluginASPCode> 插件包含的ASP 代码, 允许给插件添加 ASP代码,只对contentsidebar类型有效,插件添加后asp会自动写入plugins.asp 文件中,然后每次打开页面都回执行里面的内容。实现模块动态效果。一般的做法是使用字符代替的方法。比如,HTML代码中添加了 <$NewMsg$>特殊字符串,然后执行ASP后用replace的方法替换 <$NewMsg$> 特殊字符串就可以达到动态效果了。

一般HTML代码都保存在以下几个变量中。只要用 replace 方法替换里面的特殊字符串就好了

 

side_html_default="" '首页侧栏代码

side_html="" '普通页面侧栏代码

content_html_Top_default="" '首页内容代码顶部

content_html_Top="" '普通页面内容代码顶部

content_html_Bottom_default="" '首页内容代码底部

content_html_Bottom="" '普通页面内容代码底部

 

 

<PluginPath> 插件路径只对function 类型有效,告诉系统,这个插件需要外部文件支持,大家可以参照留言本的写法体会一下

<SettingFile> 插件配置文件已XML文件形式存在,具体说明看这里

<CreateTableSQL>  插件创建数据库语句,请使用标准的SQL语句插入新的表

<UpdateTableSQL>  插件升级数据库语句,当创建数据库失败的时候则自动执行升级SQL语句,同样使用标准的SQL语句

<DropTable> 插件反安装的时候需要删除的表名,这里只要写数据表的名称就可以了

<Author> 插件作者

<pubDate> 插件发布日期

<About> 关于插件的说明

<SubItem> 插件辅助模块信息

<item> 插件辅助功能对象。一个插件可以包含多个辅助模块

     <PluginTitle> 辅助插件标题,一般用来显示在侧边或在菜单上

     <PluginType> 辅助插件类型,辅助插件只允许contentsidebar 类型

     <PluginHtmlCode> 辅助插件包含的HTML 代码

<PluginASPCode> 辅助插件包含的ASP代码

插件的配置文件

 我们以系统自带的个人档案插件作为说明

 

<?xml version="1.0" encoding="UTF-8"?>

<PluginOptions>

 <Key name="MyName" value="无名人士" type="input" description="站长昵称" size="6"/>

 <Key name="MyFace" value="Plugins/aboutMe/Myface.jpg" type="input" description="头像地址(140X220)" size="40"/>

 <Key name="Age" value="未知" type="input" description=" " size="6"/>

 <Key name="MyDay" value="未知" type="input" description=" " size="10"/>

  <Key name="Sex" value="保密" type="select" description=" ">

  <option value="保密">保密</option>

  <option value=""></option>

  <option value=""></option>

 </Key>

 <Key name="MyBrood" value="未知" type="input" description=" " size="6"/>

 <Key name="MyStar" value="未知" type="input" description=" " size="6"/>

 <Key name="Address" value="未知" type="input" description=" " size="30"/>

 <Key name="MyDes" value="这家伙很懒什么也没留下" type="input" description="个人说明" size="40"/>

 <Key name="ILike" value="" type="input" description="兴趣爱好" size="40"/>

</PluginOptions>

 

每个插件配置的参数都是 <key> 开头的他的属性HTML标签input的属性基本一样。主要区别是select类型,<key>下面还包含<option>字段。这些内容在插件安装后,会自动保存在数据中,后台的插件配置也是根据这个文件生成表单的。

name 提交后台的字段关键字名字

value 提交到后台的数值

type 类型目前支持的类型有 select, input, textarea

description 字段描述

size 输入框的长度

 

程序如何读取插件配置信息

    1.定义变量:Dim LoadModSet

    2.创建 ModSet 对象: Set LoadModSet=New ModSet

    3.打开插件名称: LoadModSet.open("<插件名称>")

    4.读取插件配置: LoadModSet.getKeyValue("<字段关键字>")

    5.获得 ModSet 错误信息: LoadModSet.PasreError

              -18901 没有打开插件 使用open方法打开

            -18902 插件配置没有保存到缓存里

            -18903 没有安装插件

    6.重新设置 ModSet 缓存: LoadModSet.ReLoad()

7.获得插件 安装路径: LoadModSet.GetPath

PJBlog 常用变量说明

    SiteName   '站点名字

    SiteURL   '站点地址

      blog_Title   'Blog副标题

    blogPerPage   '每页日志数

    blog_LogNums   '日志总数

    blog_CommNums   '评论总数

    blog_MemNums   '会员总数

    blog_VisitNums   '访问量

    blogcommpage   '每页评论数

    blogaffiche   '公告

    blogabout   '备案信息

    blog_TbCount   '引用通告总数

    blog_commTimerout   '发表评论时间间隔

    blog_commUBB   '是否禁用评论UBB代码

    blog_commIMG   '是否禁用评论贴图

    blog_postFile   '是否动态输出日志文件

    blog_postCalendar    '是否动态输出日志日历文件

    blog_DefaultSkin   '默认界面

    blog_SplitType   '日志分割类型

    blog_introChar   '日志预览最大字符数

    blog_introLine   '日志预览切割行数

    blog_validate   '发表评论是否都需要验证

      blog_ImgLink   '是否在首页显示图片友情链接

      blog_commLength   '评论长度

    blog_version   '当前PJBlog版本号

    blog_UpdateDate   'PJBlog最新更新时间

 

PJBlog 权限变量说明

    stat_title   '当前权限的标题

    stat_AddAll   '是否允许添加日志

    stat_Add   '是否允许添加日志,目前功能同上 -_-!

    stat_EditAll   '是否允许编辑所有文章

    stat_Edit   '是否允许编辑自己的文章

    stat_DelAll   '是否允许删除所有文章

    stat_Del   '是否允许删除自己的文章

    stat_CommentAdd   '是否允许发表评论

    stat_CommentDel   '是否允许删除评论

    stat_FileUpLoad   '是否允许上传附件

    stat_Admin   '是否是系统管理员

    UP_FileSize   '上传文件大小

    UP_FileTypes   '上传文件类型

 

其他说明

1.               系统的 Plugins/sample/ 目录下有个标准的插件外部文件样板sample.asp,制作function类型的插件时请使用该文件作为模版来修改。

2.               如果制作function类型时,需要用到 <PluginPath> 里没有定义的文件需要引用 系统根目录下的p_conn.asp 插件辅助文件专用的数据库联接文件,可以参考留言本的辅助文件 bookaction.asp 中的写法

3.               提示信息函数 showmsg(title,des,icon,showType)

title 提示标题

des 提示描述,支持HTML语句

icon 提示图标

showType 提示类型.默认为空,如果是由插件辅助文件提交的信息就用 “plugins”

赞(0) 打赏
未经允许不得转载:刘旭的人个博客 » PJBlog 2 插件制作说明
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

QQ :13945502电话:13913571631

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮