5.15 书签共享系统——书签详细
本系统不仅提供了上一节介绍的个人书签收藏的功能,而且还会为每一个收藏的书签(或称为网址)生成详细介绍页面,也可以进行书签内容编辑。页面上显示所有用户对此书签内容的评论,比如对于当前的热门新闻事件,可以在此窥探网站用户对这一事件的评论。书签详细页面作为我们这个网络虚拟社区的交流场所,是系统的重要页面。
书签详细
书签内容编辑
要点
由边框清晰的将书签详细页面分为4个部分,从上而下依次为内容介绍、相关信息、用户及评论、相关的书签。其中内容介绍、相关信息、用户及评论都是保存在表bm_master/bm_comment/bm_tag中的以书签ID相关联起来的信息。以书签ID作为条件,很容易写出以上三个表间结合的检索SQL文,请参照下面的代码介绍。
最后一部分的书签的关联书签是以当前书签包含的关键字(表bm_key中的信息)为条件,检索出包含这些关键字的所有其他书签,按追加时间顺序显示其中的前20条。依次显示了书签标题、所属网站、人气度。
当用户登录后,浏览本页面时,紧接着书签的标题处,会显示“编辑”链接,点击此链接,任何注册用户都可以编辑书签的内容介绍。另外,如果是已将此书签收藏到自己的个人收藏夹的用户,在页面第2部分的最后会出现“编辑本书签”的链接,点击此链接可以维护书签的相关信息。
书签详细页面不属于特定的用户所有,因此本页面采用5.11节介绍的第一种形式的别名URI(参见5.11节)。
目录结构
代码
调用getBaseInfo方法取得书签的基本信息。
getCount方法用于取得此URL被人收藏的统计。
调用getUserList用于取得收藏此书签的用户及评论一览。
调用getOtherEntryList取得包含相同标签(tag)的其他书签(显示按时间顺排列的前20条)。
设置RSS的URL。
设置编辑标志,只有是收藏此书签的用户才能编辑它。
调用getContentInfo方法取出书签的介绍内容,用于编辑。
编辑结束,返回书签详细页面。
调用方法getDetailForChg取得书签的基本信息,用于编辑。
getCategorySelect方法取得分类信息,用于构造分类的下拉框。
updDetailForChg方法用于保存用户的编辑结果。
定义检索书签基本信息的方法。
以书签ID为条件检索书签的基本信息。
为获得标签的相关信息调用getBookmarkTags方法。
第二个参数uid是用于判断登录用户是否为书签的收藏者。
取出的标签放在数组中。
定义统计书签的收藏人数的方法。
统计收藏为公开书签的用户数。
统计收藏为非公开的用户数。
定义取得书签介绍内容的方法。
当书签标题超过30个字符时,只取其前30个字符。
定义取得收藏书签用户一览的方法,所带的唯一参数就是书签ID。
定义搜索包含相同关键字的其他书签的方法。
返回按更新时间顺序排列的前10条书签信息。
定义对getOtherEntryList方法的搜索结果,并进行格式化的方法。
格式化的项目包括,所属网站的网址(57行到62行)、所有标志(63行)、人气(66行)等。
定义更新书签介绍的方法。
定义取得书签基本信息用于更新的方法。
定义书签信息更新方法。
36行到45行进行从评论中取得标签(tag)的处理。
调用setTagsInfo与setKeysInfo方法更新标签与关键字的数据。
只有可编辑标志为真,且不是动画、书籍、专利等内容时,书签介绍才可编辑。