SPB-可扩展服务-UserTag

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

导航: 上一页

一、功能说明

  1. 用户标签在系统中的作用是轻量级的供用户使用的分类系统,应该以用户使用方便为前提;
  2. 用户标签 (也称社会化标签),可以统计整个系统中共有多少个人在使用该标签,以及该标签下共有多少项内容;
  3. 对于一项内容可以设置多个标签;
  4. 可以使用标签进行搜索;
  5. 添加标签或为信息贴标签时可以一次输入多个标签,多个标签之间采用逗号(,)、分号(;)、空格做分割符,因此在标签中不允许出现这些字符;

二、设计原则

  1. 必须指定使用用户标签的实体关键词,简称为UserTagItemKey;
  2. UserTagItemKey必须唯一,
  3. 数据库表的命名必须符合以下格式
  • spb_{ UserTagItemKey }UserTags;
  • spb_{ UserTagItemKey }sInUserTags
  • spb_{ UserTagItemKey}SiteTags

三、设计说明

Spacebuilder0202.jpg

四、如何使用用户标签

  • 确定要使用用户标签的实体关键词(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);


参考资料[ ]