很多时候会用到这个功能的吧,比如随机显示10条最新的新闻,随机显示10条推荐的新闻等等
先看一下后台效果:
此主题相关图片如下:1.jpg
![1.jpg](/club/UploadFile/2009-1/20091417222723764.jpg)
前台效果图:
随机显示10条热门文章
此主题相关图片如下:2.jpg
![2.jpg](/club/UploadFile/2009-1/20091417275027539.jpg)
今天不能上传文件了,就只说下实现步骤:
1。打开admin--include文件夹下的AddFunctionLabel.asp文件,在<%Case 2%>前边加上<option value="Label/GetRandArticle.asp?ChannelID=<%=SQL(0,I)%>&PageTitle=<%=Server.URLEncode("新建随机" & SQL(3,I) & "列表标签")%>&FolderID=<%=FolderID%>">|_随机<%=SQL(3,I)%>列表标签</option>
2。将admin--include--Label 文件夹下的GetArticleList.asp另存为GetRandArticleList.asp
然后打开这个新的GetRandArticleList.asp文件,将里边的GetArticleList全部替换为GetRandArticleList
3。打开KS_CLS文件夹下的Kesion.Label.FunctionCls.asp文件,在Case "GETARTICLELIST" '栏目文章列表函数后边加上
Case "GETRANDARTICLELIST" ChangeLableToFunction = GetRandArticleList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20),L_Arr(21), L_Arr(22),L_Arr(23), L_Arr(24),L_Arr(25), L_Arr(26),L_Arr(27), L_Arr(28),L_Arr(29), L_Arr(30), L_Arr(31), L_Arr(32)) '栏目随机列表函数
找到 '取得不规则栏目文章列表 在它前边加上
'取得随机文章列表
Function GetRandArticleList(ChannelID,FolderID,I_S_C,S_C_N, OpenType, A_P, num, R_H,T_Len, ByVal S_Str, Col, PicTF, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule,DateAlign, T_Css, DateCss,SpecialID,NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetArticleList="<span id=""ks" & LabelID & "_" & FolderID & "_" & FCls.RefreshFolderID & "_0""></span>":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim SqlStr, A_PStr,M_L_S, O_T_S,C_F_T,Param
If FolderID = "-1" Then
FolderID = FCls.RefreshFolderID
C_F_T = True
Else
C_F_T = False
End If
If FolderID = "" Then FolderID = "0"
Select Case A_P
Case "1":A_PStr = " And Recommend=1"
Case "2":A_PStr = " And Popular=1"
Case "3":A_PStr = " And Strip=1"
End Select
A_PStr=A_PStr & KS.GetSpecialPara(ChannelID,SpecialID)
If Lcase(Left(Trim(S_Str),2))<>"id" Then S_Str=S_Str & ",ID Desc"
If FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
Randomize(Timer())
SqlStr = "SELECT TOP " & num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes,AddDate,Popular,NewsID,ShowComment,Comment,TitleType,TitleFontColor,TitleFontType FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 " & A_PStr & " ORDER BY Rnd(-(ID + " & Int((10000 * Rnd) + 1) & "))," & S_Str
O_T_S = KS.G_O_T_S(OpenType)
If MoreLink <> "" And FolderID <> "0" And C_F_T = False Then M_L_S = KS.GetMoreLink(P_T,Col, R_H, MoreType, MoreLink, KS.GetFolderPath(FolderID), O_T_S)
GetRandArticleList = KS_A_L(ChannelID,SqlStr, M_L_S, S_C_N, O_T_S, R_H, T_Len, Col, PicTF, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, DateCss,NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
到这里就可以去后台系统函数标签下建立一个随机函数标签,在模板中插入就可以看到效果了。