◆◆◆日志内分页功能◆◆◆
作者:笨花 日期:2008-02-05
一、打开 cls_article.asp
①找到 sub ShowArticle(LogID),30 行左右,在下面加入:
'得到页面链接
Dim sUrl, ArrUrl
sUrl = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("PATH_INFO") & "?" & Request.ServerVariables("QUERY_STRING")
If InStr(1,sUrl,"&",1) Then
ArrUrl=Split(sUrl, "&")
sUrl=ArrUrl(0)
End If
这段代码取得当前日志的链接,并滤掉后面的 &pages=x 参数
二、查找:
if log_ViewArr(10,0)=1 Then
response.write (highlight(UnCheckStr(UBBCode(HtmlEncode(log_ViewArr(8,0)),mid(log_ViewArr(11,0),1,1),mid(log_ViewArr(11,0),2,1),mid(log_ViewArr(11,0),3,1),mid(log_ViewArr(11,0),4,1),mid(log_ViewArr(11,0),5,1))),keyword))
Else
response.write(highlight(UnCheckStr(log_ViewArr(8,0)),keyword))
end if%>
修改为:
if log_ViewArr(10,0)=1 Then
'response.write (highlight(UnCheckStr(UBBCode(HtmlEncode(log_ViewArr(8,0)),mid(log_ViewArr(11,0),1,1),mid(log_ViewArr(11,0),2,1),mid(log_ViewArr(11,0),3,1),mid(log_ViewArr(11,0),4,1),mid(log_ViewArr(11,0),5,1))),keyword))
Call UBBSplitxx(sUrl)
Else
'response.write(highlight(UnCheckStr(log_ViewArr(8,0)),keyword))
Call FckSplitxx(sUrl)
end if%>
就是将原来的两条语句注释掉(也可以直接删除),换成两个子函数调用。
三、在尾部添加下面两个子函数
<%
'*******************************************
' UBB 日志分页
' 修改时间:2007年12月17日
'*******************************************
Sub UBBSplitxx(sUrl)
dim arrContent,Page,PageList,Content,PageCounter,x,xx,uu
Content=highlight(UnCheckStr(UBBCode(HtmlEncode(log_ViewArr(8,0)),mid(log_ViewArr(11,0),1,1),mid(log_ViewArr(11,0),2,1),mid(log_ViewArr(11,0),3,1),mid(log_ViewArr(11,0),4,1),mid(log_ViewArr(11,0),5,1))),keyword)
'UBB 编辑器可能会过滤“[pagesplitxx]”,所以我将分页符换成了 “[pagesp+litxx]”
If InStr(1,cstr(Content),"[pagesp+litxx]",1)<>0 Then
ArrContent=Split(Content,"[pagesp+litxx]")
PageCounter=UBound(ArrContent)
If PageCounter > 0 Then
Page=Request.QueryString("pages")
Page=CInt(Page)
If Page<1 Then Page=1
If Page-2>PageCounter Then Page=PageCounter+2
For x=1 To PageCounter+1
uu=sUrl & "&pages=" & x
If Page=x Then
xx=" [<font color='#FF0000'>" & x & "</font>]"
PageList = PageList & xx
Else
xx= x
PageList = PageList & " [<a href='" & uu & "'>" & xx & "</a>]"
End If
Next
uu = sUrl & "&pages=" & x
If Page=PageCounter + 2 Then
xx = " [<font color='#FF0000'>全文阅读</font>]"
PageList = PageList & xx
Else
xx = "全文阅读"
PageList = PageList & " [<a href='" & uu & "'>" & xx & "</a>]"
End If
If Page-1<=PageCounter Then
Content=ArrContent(Page-1)
End If
x = PageCounter + 1
Content=Content & "<hr><div align='right'>共 " & x & " 页:" & PageList & "</div>"
End If
End If
response.write (content)
End Sub%>
<%
'*******************************************
' FCK 日志分页
' 修改时间:2007年12月17日
'*******************************************
Sub FCKSplitxx(sUrl)
dim arrContent,Page,PageList,Content,PageCounter,x,xx,uu
Content=highlight(UnCheckStr(log_ViewArr(8,0)),keyword)
If InStr(1,cstr(Content),"[pagesp+litxx]",1)<>0 Then
ArrContent=Split(content,"[pagesp+litxx]")
PageCounter=UBound(ArrContent)
If PageCounter > 0 Then
Page=Request.QueryString("pages")
Page=CInt(Page)
If Page<1 Then Page=1
If Page-2>PageCounter Then Page=PageCounter+2
For x=1 To PageCounter+1
uu=sUrl & "&pages=" & x
If Page=x Then
xx=" [<font color='#FF0000'>" & x & "</font>]"
PageList = PageList & xx
Else
xx= x
PageList = PageList & " [<a href='" & uu & "'>" & xx & "</a>]"
End If
Next
uu = sUrl & "&pages=" & x
If Page=PageCounter + 2 Then
xx = " [<font color='#FF0000'>全文阅读</font>]"
PageList = PageList & xx
Else
xx = "全文阅读"
PageList = PageList & " [<a href='" & uu & "'>" & xx & "</a>]"
End If
If Page-1<=PageCounter Then
Content=ArrContent(Page-1)
'下面三行是标签补全,我的回车默认标签改为 <div> 了,所以补的是 </div> 和 <div>
'如果你的是 <p> 的话,补全的标签也要相应修改为 </p> 和 <p>
'插入分页符的时候,用回车换行,单独起一行来放分页符 [pagesp+litxx]
If Page=1 Then Content=Content & "</div>"
If Page-1=PageCounter Then Content="<div>" & Content
If Page>1 And Page<=PageCounter Then Content="<div>" & Content & "</div>"
End If
x = PageCounter + 1
Content=Content & "<hr><div align='right'>共 " & x & " 页:" & PageList & "</div>"
End If
End If
response.write(Content)
End Sub%>
使用方法:
,你也可按自己的喜好替换。(为了不这个说明在这里分页,我在中间加"+"“[pagesp+litxx]”,用的时候加"+"去掉!)
①UBB 编辑模式语法标签可以直接看到,只要不在标签对中间插分页符就行了
②FCK 编辑器要用回车(注意不是Shift+回车)另起一段,将分页符 放在单独一个段落内,这样做是为了保证分页符一定会被一个段落标签对(<p>或<div>)包围,后面补全标签时才是有规律的。
如果你cls_article.asp没有修改过,可以用附件里我修改好的!
接着就是在编辑器里插入符号啦!
将文件:common和FCKeditor 两个文件夹上传到根目录里,最好做好备份哦!
将图片 pagesplitxx.gif 上传至 /UBB/Icons/ 里!
完成!
上一篇
下一篇

点击下载此文件
文章来自:
Tags:
相关日志:
回复
| 取消审核]