爱飞多用户博客系统/插件制作说明

来自站长百科
跳转至: 导航、​ 搜索

爱飞多用户博客 | 安装 | 使用 |皮肤|插件|整合

插件制作环境[ ]

  • 确定已安装vs.net或者其他.net开发工具。
  • I-Favourite1.5及以上版本。

创建插件项目[ ]

选择类型为类库项目。

I-fav Plugin1.png

引用所必须的命名空间[ ]

在解决方案资源管理器中,添加引用

I-fav Plugin2.png

I-Favourite程序bin目录下找到 Controls.dll和Spaces.dll 添加到引用中:

I-fav Plugin3.png

引用asp.net web开发命名空间

I-fav Plugin4.png

引用命名空间 Spaces,Spaces.Controls;

I-fav Plugin5.png

新建一个类,并继承自WebControl

如图所示:

I-fav Plugin6.png

添加属性,和说明(必须):

I-fav Plugin7.png

Plug中第一个参数为插件ID(字每和数字的组合)。第二个参数,插件名称。第三个参数,说明。

对应模块管理中的

I-fav Plugin8.png

编写控件内容。

可以按照asp.net标准的控件开发流程来作:

例如可以在Render方法中输出内容

protected override void Render(HtmlTextWriter writer)
 {
  writer.Write("这是i-favourite的插件例子");
}

当编译应用后会直接在模块位置显示文本,这是i-favourite的插件例子

应用插件[ ]

首先,登录系统管理后台,进入插件管理。

如图所示

I-fav Plugin9.png


选择上传插件,系统会自动找到应用了Plug属性的类,单击应用插件。 这时插件已经显示在模块列表中了,并在用户模块列表中可选。

  • 要使用固定的块 ?

在页面引用

<%@ register assembly="Controls" namespace="Spaces.Controls" tagprefix="Blogs" %> 

在需要加入的控件的地方加入PlugHolder是插件容器,只需要指定PlugID 也就是插件的ID

<Blogs:PlugHolder runat="server" PlugID="MyIFPlug"/>

这样就可以了

如果需要用插件来护充页面 ,需要在sysytem下建一个aspx页

I-fav Plugin10.png

这样就可以通过博客URL地址/System/页面名 来访问了。 当然,也可以编辑SystemFiles/SiteUrls.Config 增加URL重定向。

常用属性和方法[ ]

常用属性

  • 获取当前根程序所在根目录 string Globals.ApplicationPath
  • 获取插件路径 string Globals.PlugsPath
  • 获取包含用户语言的脚本路径 string Globals.ScriptPath
  • 获取系统配置文件路径 string Globals.SystemFilePath
  • 获取语言,当访问路径为站点时指站点默认语言,为用户主页时是指用户设置的语言 string Globals.Language


Globals.Text 属性的用法

在languages目录下语言目录下找到text.xml 如简体中文Languages\zh-CN\text.xml

增加一行如 "标签名称">文本

不同语言标签名称要一样

调用时使用string Globals.Text["标签名称"]


常用方法

  • 获取当前皮肤所在路径 此方法是为了引用皮肤目录的资源 string Globals.GetSkinPath()
  • 数据库查询:
    • 执行sql并返回受影响的行数 int Spaces.SpacesDataProvider.Instance().ExecuteNonQuery(string sqlText)
    • 执行sql并返回第一行第一列 object Spaces.SpacesDataProvider.Instance().ExecuteScalar(string sqlText)
    • 执行sql并返回DataView DataView Spaces.SpacesDataProvider.Instance().GetDataView(string sqlText)
    • 执行sql并返回DataTable DataTable Spaces.SpacesDataProvider.Instance().GetTable(string sqlText)
    • 执行sql并返回DataRow DataRow Spaces.SpacesDataProvider.GetDataRow(string sqlText)
  • Cache:
    • 清除所有缓存 static void IFCache.Clear()
    • 通过指定的正则表达式移除缓存 static void IFCache.RemoveByPattern(string pattern)
    • 通过前缀移除缓存 static void IFCache.RemoveByPrefix(string prefix)
    • 把对像插入缓存键值,缓存时间分钟 static void IFCache.Insert(string key, object obj, int seconds)

参考来源[ ]

爱飞多用户博客系统使用手册

安装

安装说明

使用

系统设置|皮肤模块插件管理|角色权限管理|安全和过滤设置|数据统计|内容管理|审核管理|首页内容管理|用户管理

皮肤

皮肤制作说明

插件

插件制作说明

整合

整合说明