下一步打算加上相关文章功能。PULS版的暂时不能用,先贴一下七夜的方法
方法比较拙劣,欢迎批评
1.新增加一个模板,名字为b_article_mutuality.html,文章扩展名根据情况修改,内容
<li class="mutualityurl"><a href="<#article/mutuality/url#>.html"><#article/mutuality/name#></a> (<#article/mutuality/posttime#>)</li>
2.b_article-single.html增加如下内容,具体位置自己选
<ul class="msg trackback">
<li class="tbname">相关文章</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
Template_Article_Single=Replace(Template_Article_Single,"<#template:article_mutuality#>",Template_Article_Mutuality)
以下部分找个地方放下就可以了,放在某个End Function之后即可
Function Export_Mutuality()
Call CheckParameter(ID,"int",0)
If (ID=0) Then Del=False:Exit Function
Dim strCC_Count,strCC_ID,strCC_Name,strCC_Url,strCC_PostTime,strCC_Title
Dim strCC
Dim i
Dim objTNode
Dim objCNode
Dim objSingleNode
Dim objNodeText
Dim objMutArticle
Dim objRS
Set objRS=Server.CreateObject("ADODB.Recordset")
objRS.CursorType = adOpenKeyset
objRS.LockType = adLockReadOnly
objRS.ActiveConnection=objConn
Dim tmp,keyword,rs,ii,tmpsql
objRS.Source="Select top 1 [log_ID],[log_Tag],[log_PostTime] From [blog_Article] Where [log_ID] =" & ID
objRS.Open()
If (not objRS.bof) And (not objRS.eof) Then
keyword=objRS("log_Tag")
End if
objRS.Close()
Set objRS=Nothing
keyword=replace(keyword,"{","")
tmp=Split(keyword,"}")
for ii=0 to UBound(tmp)
if ii=0 then
tmpsql=" AND ( [log_Tag] like '%{"&tmp(ii)&"}%' "
else
tmpsql=tmpsql&" or [log_Tag] like '%{"&tmp(ii)&"}%' "
end if
next
tmpsql=tmpsql&" ) "
tmpsql="SELECT top 5 [log_ID],[log_Tag],[log_CateID],[log_Title],[log_Level],[log_AuthorID],[log_PostTime],[log_Url] FROM [blog_Article] WHERE ([log_Level]>2) "&tmpsql&" AND [log_ID]<>"& ID &" ORDER BY [log_PostTime] DESC"
Set objRS=Server.CreateObject("ADODB.Recordset")
objRS.CursorType = adOpenKeyset
objRS.LockType = adLockReadOnly
objRS.ActiveConnection=objConn
objRS.Source=tmpsql
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#>",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
Export_Mutuality=True
End Function
下面这段代码替换上面那部分的相应内容即可实现类似“去年的今天”
If (not objRS.bof) And (not objRS.eof) Then
keyword=dateadd("m",-1,objRS("log_PostTime"))
End if
objRS.Close()
Set objRS=Nothing
tmpsql="SELECT top 5 [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_PostTime] like '%"& keyword &"%' AND [log_ID]<>"& ID &" ORDER BY [log_PostTime] DESC"
修改完毕,需重建所有文章
注:TAG不能有空的,未加判断TAG为空的语句