SPB-可扩展服务-UserTag
来自站长百科
导航: 上一页
一、功能说明
- 用户标签在系统中的作用是轻量级的供用户使用的分类系统,应该以用户使用方便为前提;
- 用户标签 (也称社会化标签),可以统计整个系统中共有多少个人在使用该标签,以及该标签下共有多少项内容;
- 对于一项内容可以设置多个标签;
- 可以使用标签进行搜索;
- 添加标签或为信息贴标签时可以一次输入多个标签,多个标签之间采用逗号(,)、分号(;)、空格做分割符,因此在标签中不允许出现这些字符;
二、设计原则
- 必须指定使用用户标签的实体关键词,简称为UserTagItemKey;
- UserTagItemKey必须唯一,
- 数据库表的命名必须符合以下格式
- spb_{ UserTagItemKey }UserTags;
- spb_{ UserTagItemKey }sInUserTags
- spb_{ UserTagItemKey}SiteTags
三、设计说明
四、如何使用用户标签
- 确定要使用用户标签的实体关键词(UserTagItemKey),比如BlogThread
- 根据关键词(UserTagItemKey)建立数据库表spb_{ UserTagItemKey }UserTags、spb_{ UserTagItemKey }sInUserTags。比如spb_BlogThreadUserTags、spb_BlogThread sInUserTags
- 如果你希望在总站中显示总站的标签列表,请建立数据库表spb_{ UserTagItemKey}SiteTags.
注: 关于表结构请参考数据库设计说明书中有关用户标签表的示例。
另外,你可以使用官方为你提供的模板,用关键词替换掉“{ UserTagItemKey }”,快速建表。
- 在你新加应用的业务逻辑层,新建UserTagItemKeys.cs文件,为UserTagItemKeys 类增加扩展方法{ UserTagItemKey }。
比如博客文章的扩展方法是
/// <summary> /// 使用用户标签服务的实体项 /// <remarks>实体关键词必须保证唯一</remarks> /// </summary> public static class UserTagItemKeysExtensions { /// <summary> /// 博客文章 /// </summary> public static string BlogThread(this UserTagItemKeys userTagItemKeys) { return "BlogThread"; } }
- 最后你就可以在表现层像文章一样使用标签服务了
UserTagManager.Instance(UserTagItemKeys.Instance().BlogThread()).CreateUserTag(userTag);