文章教程

5.20书签共享系统——首页、书签分类一览及其RSSFeed

9/17/2020 9:43:31 PM 人评论 次浏览

5.20 书签共享系统——首页、书签分类一览及其RSS Feed

网站的首页上不仅要及时反映网站信息的更新情况,同时要尽量提供能吸引初次登录到网站的用户的信息。这里尽量遵循上述原则来设计书签共享系统的首页。本节除了介绍书签共享系统首页外,还将介绍书签分类一览页面以及RSS Feed的生成程序。

alt

书签分类、RSS Feed

要点

本节介绍的页面和程序有一个共同的特点,都按照一定的条件从数据库中检索出数据后,将数据显示在页面上。

首页上显示了三种类型的数据,页面的左边显示最新20条登录的书签一览。页面的左边依次显示了用户的最新站内留言(用户登录网站后)、最受欢迎(被设置为朋友的次数最多者)的用户一览。

书签分类一览页面中按照追加的时间顺序分页显示同一类型的书签。与个人书签收藏夹页面,主页的最新书签一览一样,都是针对表bm_master的检索,只是彼此检索条件不同而已。检索出来的结果都放置在结构相似的数组(参照5.14节)中。

目录

alt

代码

alt

主页的动作方法。

alt

setContentInfo方法设置主页右侧的最新人气书签一览信息。setSiderBarInfo方法设置左侧的站内最新留言一览以及受欢迎的用户一览的信息。

alt

内容分类人气书签一览动作。

alt

setBookmarkInfo方法用于检索相应类型的人气书签一览。

alt

setSiderBarInfo方法用于设置书签共享系统主页的左侧信息(最新站内留言和最受欢迎用户一览)。

alt

取得收件箱中未读留言的件数。

alt

取出收件箱中最新的五件留言。

alt

设置留言的链接,单击“链接”将链接到留言的详细页面。

alt

调用getBestBookmark方法取得最受欢迎所有用户一览。

alt

setContentInfo方法取得人气度最高的最近三个月登录的书签的前10件。

alt

所谓最新且最人气的书签是体现在检索SQL文的排序方式上,即依次按照追加的日期(年月日、倒序)、人气度(倒序)、书签ID(倒序)来排序检索结果。

alt

对检索结果进行格式化,格式化的项目与个人书签收藏夹页面的相似。

alt

getBestBookmark方法中取出6个最受欢迎的用户信息。所谓最受欢迎即被接受为朋友的次数最多。

alt

检索friendlist表,取出6个被人设为朋友次数最多的用户,即统计表friendlist的列fuid(朋友ID)的次数。

alt

getBookmarkDetails方法取得书签相关的辅助信息,如关键字信息等。

alt

setBookmarkInfo方法不仅要检索内容分类画面的左侧按人气顺序排列的书签信息,还要检索页面右侧按追加顺序排列的书签信息,同时还加入了分页功能。所以代码看起来比较复杂。

alt

取得分页的件数以及当前页码。

alt

取得分类ID。

alt

取得页面类型(普通、新闻、影像等)ID。当用户单击页面类型时,本系统将显示所有同一Web页面类型的所有书签信息。

alt

默认显示其他类型(分类ID为19)的内容。

alt

当页面类型ID不为空,即进行页面类型ID的检索。

alt

请注意这里为了编程的方便将模板变量命名为“categoryname”,实际保存的是页面类型名。

alt

当内容分类ID不为空时,进行内容分类的检索。

alt

取得内容分类名,用于页面上的显示。

alt

对检索结果进行格式化,与个人书签收藏夹页面的格式化内容完全一致。

alt

为了分页功能,根据条件取得书签的总数目。

alt

调用getPager方法取得分页链接字符串。

alt

122行到134行根据不同的分类,检索最新追加的书签一览,只返回前20条结果。

alt

进行内容分类检索。

alt

进行页面类型分类检索。

alt

以下对检索结果进行格式化。

alt

组合RSS链接URL。

alt

定义分页方法getPager。getPager方法实现了内容分类一览页面的分页,以及页面类型一览页面的分页。5个参数分别为当前页码、系统URL、书签总件数、内容分类ID、页面类型ID。

alt

定义链接URL。分页的处理过程与个人书签收藏夹页面的类型,请参照前面几节的说明。

alt

alt

alt

alt

为了生成RSS Feed必须将含有feedcreator类的PHP脚本包含进来。

alt

标示生成不同RSS feed的条件——fid。关于RSS的生成过程已经在4.8节已经介绍过,请参照其解说,这里不再赘述了。

alt

alt

强制进行字符串代码转换的方法。

alt

首先调用mb_detect_encoding函数判断现在字符串所采用的编码方式。

alt

将字符串转换为UTF-8形式。

alt

getRssInfoFid1方法用于在主页上生成RSS Feed前的书签检索处理,检索SQL文与主页的完全一致,但是不用再进行格式化处理。

alt

与上面的方法getRssInfoFid1一样,getRssInfoFid3方法用于生成内容分类一览的RSS feed的书签检索。检索SQL与页面处理的一样。

alt

alt

调用Rss Feed生成方法。

alt

教程类别