◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
简单实现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
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。
如果代码有问题或者您有更好的改进欢迎反馈我。
|
|
||
|
|
|
|
![]() |
||
发布:Debugger | 分类:代码收集 | 引用本文 | 发表评论 | 返回顶部
- 原创文章如转载请注明:来自[闻思家园]:http://www.winshome.com/coding/2007-01/176.html
- 1.电机网 Said at 2007-1-12 17:03:44:
- http://www.farrali.net
- 谢谢,厉害,这都会..
- 回复该留言 | 直接评论 | 返回顶部
- 2.walter Said at 2007-3-1 22:03:03:
- 老兄,你很厉害诶
, 问下 我也是用zblog,怎么把首页也生成htm模式啊??
debuggger 于 2007-3-1 22:03:03 回复
1.7去掉了这个功能,我还没有研究过这个问题,暂时没办法帮到你哦。不过我认为影响不大,主页的静态可有可无。 - 回复该留言 | 直接评论 | 返回顶部
- 3.泵 Said at 2007-4-14 15:54:59:
- http://www.farrali.net
- 按照贵站长的Zblog的分类置顶方法对于1.7无效,出现以下提示
希望能够提供1.7的制作方法
错误原因:未知错误
ID:13
摘要:
类型不匹配
Microsoft VBScript 运行时错误 - 回复该留言 | 直接评论 | 返回顶部
- 4.wcb Said at 2007-4-24 7:14:18:
- http://www.wcb.cn
- 我是1.7版本的 , function/c_system_lib.asp文件中有三处相同的地方,都按你的要求修改过,最后首后出错, 但分类的页面可以打开并实现了 分类置顶 的功能
请高手指出首页为什么会出错并改正代码
错误原因:未知错误
ID:13
摘要:
类型不匹配
Microsoft VBScript 运行时错误Debugger 于 2007-4-24 7:14:18 回复
应该是不需要都改的,已经回复你邮件了,查收一下。 - 回复该留言 | 直接评论 | 返回顶部
- 5.wcb Said at 2007-4-24 7:14:44:
- http://www.wcb.cn
- 按以上代码修改后 而且首页的文件随机性出错丢失Debugger 于 2007-4-24 7:14:44 回复
不知道什么叫文件随机性? - 回复该留言 | 直接评论 | 返回顶部
- 6.wcb Said at 2007-4-24 9:33:41:
- http://www.wcb.cn
- 原首页的右侧文章列表如下:
标题1
标题2
标题3
标题4
标题5
但采用您的文章要求修改后,重建索引后
[置顶]标题1
标题2
标题4
而标题3 跟 标题5 丢失,但在类别中都可以找到
就是首页出现问题,但分类中没问题 - 回复该留言 | 直接评论 | 返回顶部
- 7.wcb Said at 2007-5-9 8:57:29:
- http://www.wcb.cn
- 我已经把整站发到您邮箱中了,如果有时间的话,麻烦您修改一下Debugger 于 2007-5-9 8:42:00 回复
好,我看看Debugger 于 2007-5-9 8:57:29 回复
没能收到您的邮件,我看了一下1.7版本. 第一处修改function/c_system_event.asp应该在1760行,第二处修改function/c_system_lib.asp则是1467行.注意每个文件都只修改一处,不要改动多个函数.希望您能成功. - 回复该留言 | 直接评论 | 返回顶部
- 8.wcb Said at 2007-5-9 8:41:37:
- http://www.wcb.cn
- 贵站 已经采用了Zblog 1.7, 为什么不把 "简单实现Zblog的分类置顶" 的功能在贵站中实现呢?
期待中Debugger 于 2007-5-9 8:41:37 回复
我这里没有置顶文章
- 回复该留言 | 直接评论 | 返回顶部
- 9.wcb Said at 2007-10-16 17:38:05:
- http://www.wcb.cn
- 邮件已经分别重发了,感谢关注.
建议老大测试时 置顶几编文章试试,事后可以再取消
第一处修改function/c_system_event.asp应该在1760行,第二处修改function/c_system_lib.asp则是1467行.注意每个文件都只修改一处
照改了,出现 "错误原因:未知错误 ID:13"
打开cmd.asp文件
移除掉第17行"<% On Error Resume Next %>"
问题依旧Debugger 于 2007-10-16 16:10:57 回复
已经测试了,否则不会发出来的。你看看现在网页上的效果。Debugger 于 2007-10-16 17:38:05 回复
1.7的机制比较复杂,因为实现了所有的分类界面也静态化,所以暂时不知道怎么改。
1.6我自己测试是可以的。注意几个问题:
1.先备份,以防万一。
2.最好用记事本文件改,改完了另存为utf-8文件,这是很重要的。
3.注意上述代码段的起始位置和结尾位置,不要发生嵌套错误。
4.做完后重建 - 回复该留言 | 直接评论 | 返回顶部
