开发的这个Z-Blog的Better Feed插件的主要功能是扩展现有Z-Blog生成的Feed的内容。
开发这个插件的起因很偶然,因为前几天我在网上看到Wordpress的Better Feed插件,非常羡慕这个功能(Wordpress的好用插件可真多啊),于是手开始发痒,也做一个类似的插件,应用到我目前使用的Z-Blog系统上。 目前主要做的功能是在Feed上增加“相关文章”功能。由于我的Feed是使用全文RSS输出,因此损失了不少Web流量,不过,如果在Feed的功能上进行一些扩展和优化,不但可以有利于读者更全面了解文章内容,还可以弥补损失的流量,做到了双赢。 首先的功能是根据文章的内容,在Feed底部增加一个“相关文章”的功能,这样有兴趣的读者可以很方便地阅读相关内容的文章。 其次的功能是在Feed底部增加“发表评论”的链接,这样,如果读者看到这篇文章,并且想要发表自己的意见的时候,可以点这个链接进去留言。(为了方便FeedBurner统计点击数,这个链接我暂时没加,有兴趣的可以自己添加一下) 再次,做为预留功能,我还可以在Feed里面增加广告功能,显示和内容相关的匹配文字广告。 因此我相信,实现了这些功能之后,做为全文RSS输出的不少缺点就都解决了,这样,很多人就更愿意使用全文RSS输出,方便读者,也不会对自己造成太大冲击。 具体的修改方法是,对于Z-Blog 1.6,打开c_system_event.asp文件,找到Function ExportRSS()函数,如果是全文RSS,就将objArticle.HtmlContent替换为objArticle.HtmlContent+getRelateList(objArticle.ID,objArticle.Tag),如果是摘要输出,则替换objArticle.HtmlIntro。最后,在c_system_event.asp文件尾部加入以下代码即可。 '*********************************************************' 目的:相关文章的生成,用于优化Feed'*********************************************************Function getRelateList(intID,strTag) If (intID=0) Then Exit FunctionIf strTag<>"" Then Dim strCC_Count,strCC_ID,strCC_Name,strCC_Url,strCC_PostTime,strCC_Title Dim strCC Dim i Dim j Dim objRS Dim strSQL Dim strOutput strOutput="" Set objRS=Server.CreateObject("ADODB.Recordset") strSQL="SELECT top 10 [log_ID],[log_Tag],[log_CateID],[log_Title],[log_Intro],[log_Level],[log_AuthorID],[log_PostTime],[log_Url] FROM [blog_Article] WHERE ([log_Level]>2) AND [log_ID]<>"& intID &" " Dim aryTAGs If InStr(strTag,"}{") > 0 Then aryTAGs = Split(strTag,"}{") Else ReDim aryTAGs(0) aryTAGs(0) = strTag End If strSQL = strSQL & " AND (" For j = 0 To UBound(aryTAGs) If Not (IsNull(aryTAGs(j)) Or IsEmpty(aryTAGs(j)) Or aryTAGs(j) = "" Or Len(aryTAGs(j)) < 1) Then aryTAGs(j) = Replace(Replace(aryTAGs(j),"}",""),"{","") If IsNumeric(aryTAGs(j)) Then If j > 0 Then strSQL = strSQL & " OR " strSQL = strSQL & "([log_Tag] Like '%{"&aryTAGs(j)&"}%')" End If End If Next strSQL = strSQL & ")" strSQL = strSQL + " ORDER BY [log_PostTime] DESC " Set objRS=Server.CreateObject("ADODB.Recordset") objRS.CursorType = adOpenKeyset objRS.LockType = adLockReadOnly objRS.ActiveConnection=objConn objRS.Source=strSQL objRS.Open() If (not objRS.bof) And (not objRS.eof) Then For i=1 To 5 '相关文章数目,可自行设定 strCC_Count=strCC_Count+1 strCC_ID=objRS("log_ID") strCC_Url=objRS("log_Url") strCC_PostTime=objRS("log_PostTime") strCC_Title=objRS("log_Title") Application.Lock strCC=Application(ZC_BLOG_CLSID & "TEMPLATE_ARTICLE_Mutuality") Application.UnLock If IsNull(strCC_Url) Or IsEmpty(strCC_Url) Or strCC_Url="" Then strCC_Url=strCC_ID end if strCC=Replace(strCC,"<#article/mutuality/id#>",strCC_ID) strCC=Replace(strCC,"<#article/mutuality/url#>",ZC_BLOG_HOST & ZC_STATIC_DIRECTORY & "/" & CStr(strCC_Url)) strCC=Replace(strCC,"<#article/mutuality/posttime#>",strCC_PostTime) strCC=Replace(strCC,"<#article/mutuality/name#>",strCC_Title) strOutput=strOutput & strCC objRS.MoveNext If objRS.eof Then Exit For Next End if objRS.Close() Set objRS=Nothing End If strOutput=Replace(strOutput,vbCrlf,"")getRelateList="<br/>----<br/><br/>相关文章:<ul>" + strOutput + "</ul> " End Function 河南海融软件有限公司成立于2011年,是一家专业从事软件开发的企业,面向中国、欧美、日本等海内外行业用户,提供领先的信息技术和软件服务。公司致力于打造国内领先的技术研发、设计和测试人才及先进的配套测试条件,提高产品科技含量,调整产品结构技术革新及技术支撑的地位,提升行业产品整体技术水平。为加快科技化进程,进一步拉长技术链,起到积极推进的作用。










获取报价
销售热线
返回顶部
在线咨询
一键拨打