平凡生活-电脑科技和网络生活的个人博客

我的理想,就是过一种简单平凡得生活,没有过多欲望,只有不经意间得温馨。

« 高手炒股心得-橘中秘暴力摩托汉化版下载2004 »

Z-blog的分类置顶方法

Z-blog的分类置顶方法

Zblog提供了置顶的功能,不过,默认情况下为全局置顶,即:只要文章属性设置为置顶,那么在任何分类页都会在顶部显示该文章。我们都知道这是很不合理的,因为置顶文章与当前分类的主题未必吻合,很容易给读者造成疑惑,尤其是置顶文章很多或者需要将置顶文章的摘要也显示出来的情况下。
经过研究,我发现只要修改下面两段代码,就可以实现分类置顶的功能了,即:置顶文章不会总是显示出来,各个分类下的置顶单独与分类页关联。
步骤如下:
1.打开function/c_system_event.asp文件,函数Buildallcache内(1410行附近),原代码为:

objRS.Open("SELECT [log_ID] FROM [blog_Article] WHERE ([log_Level]>1) 
AND ([log_Istop]=True) ORDER BY [log_PostTime] DESC")
  If (Not objRS.bof) And (Not objRS.eof) Then
    objRS.PageSize = ZC_DISPLAY_COUNT
    ReDim aryAllList(objRS.PageCount+1)
    For i=1 to objRS.PageCount
      objRS.AbsolutePage=i
      For j = 1 To objRS.PageSize
        If j=1 Then aryAllList(i)="IstopPage" & i & "["
        aryAllList(i)=aryAllList(i) & objRS("log_ID") &  ";"
        If j=objRS.PageSize Then aryAllList(i)=aryAllList(i) & "]"
        objRS.MoveNext
        If objRS.EOF Then aryAllList(i)=aryAllList(i) & "]":Exit For
      Next
    Next
End If


修改为(红色部分是发生变化的部分):

objRS.Open("SELECT [log_ID],[log_CateID] FROM [blog_Article] WHERE ([log_Level]>1)
 AND ([log_Istop]=True) ORDER BY [log_PostTime] DESC")
  If (Not objRS.bof) And (Not objRS.eof) Then
    objRS.PageSize = ZC_DISPLAY_COUNT
    ReDim aryAllList(objRS.PageCount+1)
    For i=1 to objRS.PageCount
      objRS.AbsolutePage=i
      For j = 1 To objRS.PageSize
        If j=1 Then aryAllList(i)="IstopPage" & i & "["
        aryAllList(i)=aryAllList(i) & objRS("log_ID") & ";" & objRS("log_CateID") & ";"
        If j=objRS.PageSize Then aryAllList(i)=aryAllList(i) & "]"
        objRS.MoveNext
        If objRS.EOF Then aryAllList(i)=aryAllList(i) & "]":Exit For
      Next
    Next
  End If

2.打开function/c_system_lib.asp文件,函数ExportByCache内(1319行附近),原代码为:

Redim aryArticleList(UBound(aryArticle))
for i=LBound(aryArticle) To (UBound(aryArticle)-1)
Set objArticle = New TArticle
objArticle.ID=aryArticle(i)
If objArticle.LoadCache Then
aryArticleList(i)=objArticle.Template_Article_Multi
End if
Set objArticle = Nothing

修改后(红色部分为有变化的部分):

Redim aryArticleList((UBound(aryArticle)-LBound(aryArticle)+1)/2)
for i=LBound(aryArticle) To (UBound(aryArticle)-1) step 2
Set objArticle = New TArticle
objArticle.ID=aryArticle(i)
If (intCateId=Empty or intCateId=Cint(aryArticle(i+1))) and objArticle.LoadCache Then
aryArticleList(i/2)=objArticle.Template_Article_Multi
End if
Set objArticle = Nothing


经zblog 1.6 final 60816版本测试正常(谁有1.7版本的欢迎测试,非常感谢),效果是主页显示所有置顶,分类页显示各自分类的置顶。如果希望主页不显示任何置顶可以删去最后一段代码中的 intCateId=Empty or
文章来源:http://www.winshome.com/post/176.html

Tags: 订阅到抓虾
  • 相关文章
  • quote 4.离心泵 删除留言
  • http://www.farrali.net
  • 我是1.7版本的 , function/c_system_lib.asp文件中有三处相同的地方,都按你的要求修改过,最后首后出错, 但分类的页面可以打开并实现了 分类置顶 的功能

    请高手指出首页为什么会出错并改正代码

    错误原因:未知错误

    ID:13

    摘要:
    类型不匹配

    Microsoft VBScript 运行时错误
  • 4/21/2007 4:25:28 AM
  • quote 28.成功的秘诀是什么 删除留言
  • http://www.dggrmy.com/ganzaoji/shipin/
  • 成功的秘诀是什么?答“拼命吹”风说。“要能拍”照相机说。“要罩得住”蚊帐说。“无孔不入”钉子说。“口锋要锐利”刀子说。“容量要大”冰箱说。“永远保持冷静”冷气说。“有扫荡黑暗带来光明的本事”火说。“不要被人牵着鼻子走”茶壶说。食品干燥剂说:满足市场需求!想你的市场有多大!666
  • 5/24/2008 3:35:56 PM

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

  • 推荐加快网速杜绝病毒木马的firfox浏览器(完全免费!)
  • 使你的网站每月增加几百美元的收入,赶快点击注册把!
分享到饭否

网站目录

一周热门

随机文章

最近发表

最新留言

Tags

Powered By Z-Blog | Z-Blog Plus 1.5 Build 60326

Copyright 平凡生活网络博客,欢迎转载,转载请著明--转载自“平凡生活博客网站