青青子衿, 悠悠我心, 但为君故, 沉吟至今
« Z-BLOG常用技巧汇总巧用WinZip进行定时加密备份 »

Z-BLOG相关文章的修改方法

  本来想写一个ZBLOG的“相关文章”插件,但上网一搜索,发现已经有人写过了。我就直接拿来用了。粗略用了一下,发现其耗费资源很大,每生成一篇文章都要多执行2条数据库查询,使得重建文章速度更慢了。这和我以前想的方法不一样,我想的方法应该是先将全部TAG生成独立的临时文件 ,在文章重建的时候再进行文本替换,这样执行的数据库查询就很少了,不会占用太多系统资源,可惜现在没时间去实现。

  下面是七夜发布的Z-blog“相关文章”修改方法,其中Export_Mutuality处代码我进行了一些修改,使得TAG为空的时候该代码也能正常运行。原文地址参见:http://www.h2o.name/post/661.html

1.新增加一个模板,名字为b_article_mutuality.html,文章扩展名根据情况修改,内容

  <li class="mutualityurl"><a  href="<#article/mutuality/url#>.html"><#article/mutuality/name#></a>&nbsp;(<#article/mutuality/posttime#>)</li>


2.b_article-single.html增加如下内容,具体位置自己选

<ul class="msg trackback">
  <li class="tbname">&#x76F8;&#x5173;&#x6587;&#x7AE0;</li>
<#template:article_mutuality#>
</ul>


3.CSS样式增加一个,具体根据自己喜好修改,内容如下

li.mutualityurl{
  text-align:left;
  padding:3px 10px 0px 10px;
  margin:0;
  background:#F6F4EE;
  line-height:150%;
}


4.c_system_base.asp的Function LoadGlobeCache()部分,原来的几处27改为28,增加

  aryFileName(28)="/TEMPLATE/b_article_mutuality.html"
  aryFileName_Variable(28)="TEMPLATE_ARTICLE_mutuality"


5.c_system_lib.asp
Class TArticle增加一行

Public Template_Article_Mutuality


Public Function Export(intType)增加两行,注意Call Export_Mutuality一定要放在Call Export_Tag的前面,否则会出错。

    Call Export_Mutuality

    Template_Article_Single=Replace(Template_Article_Single,"<#template:article_mutuality#>",Template_Article_Mutuality)


以下部分找个地方放下就可以了

  '相关文章的生成
  Function Export_Mutuality()

  Call CheckParameter(ID,"int",0)
  If (ID=0) Then Del=False:Exit Function
  If Tag<>"" Then

  Dim strCC_Count,strCC_ID,strCC_Name,strCC_Url,strCC_PostTime,strCC_Title
  Dim strCC
  Dim i
  Dim j
  Dim objTNode
  Dim objCNode
  Dim objSingleNode
  Dim objNodeText
  Dim objMutArticle
  Dim objRS
  Dim strSQL

  Set objRS=Server.CreateObject("ADODB.Recordset")

  strSQL="SELECT top 30  [log_ID],[log_Tag],[log_CateID],[log_Title],[log_Level],[log_AuthorID],[log_PostTime],[log_Url] FROM [blog_Article] WHERE ([log_Level]>2) AND [log_ID]<>"& ID &" "

  Dim aryTAGs
  If InStr(Tag,"}{") > 0 Then
    aryTAGs = Split(Tag,"}{")
  Else
    ReDim aryTAGs(0)
    aryTAGs(0) = Tag
  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 30 '相关文章数目,可自行设定

      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#>",strCC_Url)
      strCC=Replace(strCC,"<#article/mutuality/posttime#>",strCC_PostTime)
      strCC=Replace(strCC,"<#article/mutuality/name#>",strCC_Title)

      Template_Article_Mutuality=Template_Article_Mutuality & strCC

    objRS.MoveNext
    If objRS.eof Then Exit For
    Next

  End if

  objRS.Close()
  Set objRS=Nothing

  End If

  Export_Mutuality=True

  End Function



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/314.html
  • 文章排行:
  • 1.timehair
  • 怎么删了每篇文章下面的相关文章这4个字
  • 2010/6/6 13:57:09   支持(13)反对(7) 回复
  • 2.Tr4c3
  • <%
    response.redirect "http://www.google.com/search?q="&Request.QueryString("q")&"&domains=www.site.com&sitesearch=www.site.com"
    %>

    搜索这样不错。
  • 2007/1/26 9:47:42   支持(9)反对(5) 回复
  • 3.anbon
  • 报告!!

    相关文章不显示,出现的是这个DD:

    相关文章 <#template:article_mutuality#>

    为什么乜?想破了头。。。。

    我用的是1.6 Beta Build 60517
  • 2006/7/14 18:05:35   支持(8)反对(5) 回复
  • 4.williamlong
  • 这种修改方法只对Z-Blog 1.5以及以下的版本有效,对于1.6测试版可能无效。
  • 2006/7/19 16:58:29   支持(10)反对(7) 回复
  • 5.voll
  • 照你说的做了,相关文章也显示了,可是评论却打不开了,晕
  • 2006/3/22 21:22:58   支持(8)反对(7) 回复
  • 6.yee
  • 老大,怎么才能像你一样在网页最下面加上流量统计?
  • 2005/11/12 11:30:09   支持(6)反对(6) 回复
  • 7.想知道
  • 怎么样才能不显示文章的时间 和评论的时间呢??
  • 2014/7/29 22:52:12   支持(2)反对(2) 回复
  • 8.laole
  • 学习学习学习学习学习学习学习学习
  • 2008/9/5 19:12:02   支持(6)反对(7) 回复
  • 9.爱甜美博客
  • 老大,太深奥,看不懂,希望能写一个非常简单的,最好是给我们一个代码,我们放进去就好的那种
  • 2015/6/3 23:12:13   支持(1)反对(2) 回复
  • 10.长风
  • 月光您好,我想咨询一下,您是怎样去掉“相关文章”标题后面的发布日期的,这个太长了,我想彻底把它去掉,不知道怎么弄。

    一直看您的博客,学到很多东西,谢谢!
  • 2007/12/19 10:28:04   支持(7)反对(9) 回复
  • 12.HAO111
  • 一直看您的博客,学到很多东西,谢谢!
  • 2009/12/25 14:05:53   支持(7)反对(9) 回复
  • 13.书架品牌
  • 90后真是自我的一代,出去旅游宁愿和同学出去也不喜欢和家人出去。平时和同学的聚会,不说何时回家,把家长的关怀和担忧当做多管闲事,晚上多晚回家都不害怕,平时没事她很少找你,只要有吃的喝的穿的,现代化的交流工具,你把她放哪里都行,一点都不像我小时候,特别粘着父母。
  • 2013/9/10 11:18:41   支持(1)反对(4) 回复
  • 14.90后的贼
  • 好像不行啊,试了好几次,出现乱码
  • 2010/4/10 16:28:48   支持(6)反对(10) 回复
  • 15.yufuzi
  • 偶和楼上的兄弟遇到了同样的情况,站长救命~!
  • 2006/7/19 14:32:30   支持(6)反对(11) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.