PJBlog插件制作详细说明

目录
[隐藏]

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

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

 

插件的组成文件

插件必须要 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)

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

153 048 896 628 465 117 002 126 215 334 602 531 608 603 007 561 987 201 525 910 588 707 293 816 203 518 122 742 125 335 672 917 687 078 533 314 829 284 775