惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
I
InfoQ
C
Check Point Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
Last Week in AI
Last Week in AI
GbyAI
GbyAI
P
Proofpoint News Feed
量子位
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
B
Blog
T
The Blog of Author Tim Ferriss
H
Help Net Security
云风的 BLOG
云风的 BLOG

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评
Z-BLOG相关文章的修改方法
月光 · 2005-11-08 · via 月光博客

本来想写一个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

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