4.5版本,{$GetPrevArticle},{$GetNextArticle}替换上一篇和下一篇是依据文章ID来进行的,见KS_Cls/KS.RCls.asp中的代码:
'*********************************************************************************************************
'函数名:ReplacePrevNext
'作 用:上一篇、下一篇
'参 数:NowID 现在ID,Tid 目录ID,TypeStr类型
'*********************************************************************************************************
Function ReplacePrevNext(ChannelID,NowID, Tid, TypeStr)
Dim SqlStr
Select Case KS.C_S(ChannelID,6)
Case 1:SqlStr="SELECT Top 1 ID,Title,Tid,InfoPurview,ReadPoint,Fname,Changes,AddDate"
Case 2,3,4,7:SqlStr="SELECT Top 1 ID,Title,Tid,InfoPurview,ReadPoint,Fname,0"
Case 8:SqlStr="SELECT Top 1 ID,Title,Tid,0,0,Fname,0"
Case 5:SqlStr=" SELECT Top 1 ID,Title,Tid,0,0,Fname,0"
Case Else :ReplacePrevNext="":Exit Function
End Select
SqlStr=SqlStr & " From " & KS.C_S(ChannelID,2) & " Where Tid='" & Tid & "' And ID" & TypeStr & NowID & " And Verific=1 and DelTF=0
Order By AddDate"
If TypeStr=">" Then SqlStr=SqlStr & " asc" else SqlStr=SqlStr & " desc"
Dim RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF And RS.BOF Then
ReplacePrevNext = "No More"
Else
ReplacePrevNext = "<a href=""" & KS.GetInfoUrl(KS.C_S(ChannelID,0),RS(2),RS(0),RS(5),RS(4),RS(3),RS(6)) & """ title=""" & RS(1) &
""">" & RS(1) & "</a>"
End If
RS.Close:Set RS = Nothing
End Function
我要求根据“添加日期,AddDate”来确定上下文顺序。请问如何修改代码?
因为我的文章Sql标签是根据添加时间来排序的,只要更改添加时间就可以对文章重新排序,但这两个标签是根据ID来排序,这样就造成,目录的顺序和,{$GetPrevArticle},{$GetNextArticle}产生顺序不一致。