不同BlogGroup下的最新随笔、最新文章、最新评论
最新随笔,在.TEXT中,原本使用DNW_HomePageData这个存储过程,这个存储过和不好之处是:肯定需要一个GroupId的参数,如果我想在首页中显示所有bloggroup下的随笔,那它就不适用了。可以重新加一个存储过程,让它可以显示全部类别的内容。
思路:显示全部类别,即:gropuid为空,程序中我可以让groupid=0,判断它有值,从而选择不同的存储过程。
随笔、文章、评论都存储在表blog_Content中,分别以PostType 为1、2、3表示。不同情况下,需要考虑字段PostConfig的值,用来代表在发布随笔时进行的一些高级选项中的设置。
如这样一个存储过程:
CREATE Proc Defaut_GetLastPost
(
@Host nvarchar(100)
)
as
SELECT TOP 20 Host, Application, IsNull(blog_Content.EntryName, blog_Content.[ID])
AS [EntryName], blog_Content.[ID], blog_Content.Title, blog_Content.DateAdded,
blog_Content.SourceUrl, blog_Content.PostType, blog_Content.Author,
blog_Content.Email, blog_Content.FeedBackCount, blog_Content.SourceName,
blog_Content.EntryName, CONVERT(bit,
CASE WHEN blog_Content.PostConfig & 2 = 2 THEN 1 ELSE 0 END) AS 'IsXHTML',
blog_Config.Title AS [BlogTitle], blog_Content.PostCOnfig, blog_Config.TimeZone,
IsNull(CASE WHEN PostConfig & 32 = 32 THEN blog_Content.[Description] ELSE blog_Content.[Text]
END, '') AS [Description], blog_EntryViewCount.WebCount,
blog_EntryViewCount.AggCount
FROM blog_Content INNER JOIN
blog_Config ON blog_Content.BlogID = blog_Config.BlogID INNER JOIN
blog_EntryViewCount ON blog_EntryViewCount.BlogId = blog_Content.BlogID AND
blog_EntryViewCount.EntryId = blog_Content.ID
WHERE blog_Content.PostType = 2 and blog_Content.PostConfig & 64 = 64 and blog_Config.Flag & 2 = 2 and blog_Config.Host = @Host
order by [ID] desc
GO
对于不同类别的BlogGroup群体,需要显示不同的OPML和各自的文章、随笔、评论的RSS:
思路还是给它们不同的GroupId,然后在程序中做不同的处理就行了,如
OpmlLink.NavigateUrl ="~/Opml.aspx?GroupID=" + GroupID;
RssLink.NavigateUrl = "~/MainFeed.aspx?GroupID=" + GroupID;
对于随笔、文章和评论,可以给它再加一个参数用来控制它的显示内容,如
RssLink.NavigateUrl = "~/MainFeed.aspx?GroupID=" + GroupID + "&Way=story";

浙公网安备 33010602011771号