月上之木 2007-4-10 14:23
日志页的评论分页修改 For Z-Blog 1.7
用1.6B中的代码改的,并不完美,[b]使用非默认模板可能会出错![/b]
[color=DarkRed]07.4.11 12:54 更新:删去多余代码,修正当评论倒序未开启时评论无法显示的错误[/color]
1.将b_article-single.html中的 <#template:article_comment#> 改为
[code]<span name="CommentStr" id="CommentStr"><#template:article_comment#></span>
<script language="JavaScript" type="text/javascript">
var Cs=document.getElementById("CommentStr");
var CommentString =Cs.innerHTML;
ShowComment(1);
</script>[/code]
2.SCRIPT\common.js 中找个位置加入:
[code]
//*********************************************************
// 目的: 评论分页
// 输入: 无
// 返回: 无
//*********************************************************
var ZC_COMMENT_MULTI_PAGE=true; //是否开启评论分页,true为开启,false为关闭
var ZC_COMMENT_MULTI_PAGESIZE=10; //每页评论条数
function ShowComment(Page){
var spanComments = document.getElementById('CommentStr');
var PrintString='';
if (ZC_COMMENT_MULTI_PAGE && CommentString.length>60)
{
var matchArray = CommentString.match(/<ul(?:\s*|.*?)*<\/ul>/gi);
var first=(Page-1)*ZC_COMMENT_MULTI_PAGESIZE;
var last=ZC_COMMENT_MULTI_PAGESIZE+first;
for (var i=first;i<last;i++)
{if (typeof matchArray[i]!='undefined')PrintString=PrintString+matchArray[i];}
var Comment_Page=Comment_ShowPage(matchArray.length/ZC_COMMENT_MULTI_PAGESIZE,Page);
PrintString =Comment_Page + PrintString + Comment_Page;
}else{
PrintString =CommentString;
}
spanComments.innerHTML = PrintString;
}
function Comment_ShowPage(MaxPage,Page){
MaxPage=Math.ceil(MaxPage);
var str='';
if (MaxPage==1) return str;
str=str+'<div class=\"post pagebar\">评论分页: '+'<a href=\"javascript:ShowComment(1);\">[«]</a>';
for (var i=1;i<=MaxPage;i++){
if (Page==i){
str=str+'<span class=\"now-page\">'+i+'</span>';
}
else{
str=str+'<a href=\"javascript:ShowComment('+i+');\">['+i+']</a>';
}
}
str=str+'<a href=\"javascript:ShowComment('+MaxPage+');\">[»]</a>'+'</div>';return str;
}
//*********************************************************
[/code]
3. 以上的缺陷在于,不能用评论的AJAX效果了,所以要把AJAX评论及回复功能屏蔽掉
1.7中屏蔽AJAX评论及回复的方法: [url=http://bbs.rainbowsoft.org/viewthread.php?tid=5274&extra=page%3D3]http://bbs.rainbowsoft.org/viewthread.php?tid=5274&extra=page%3D3[/url]
4.文件重建可以看到效果.
[[i] 本帖最后由 月上之木 于 2007-4-11 13:05 编辑 [/i]]
washun 2007-4-10 14:43
我用了 评论可以分页了啊
哈哈 月木表现不错,值得托付!
只要正常的模板应该都可以用,我的就不是默认的模板。
月上之木 2007-4-10 15:18
回复 #2 washun 的帖子
汗~最后那句代码有点小错,washun你的要改过来(对照一下)
Google 2007-4-10 16:14
缺陷在于,不能用评论的AJAX效果了,所以要把AJAX评论及回复功能屏蔽掉
:L 鱼和熊掌不可兼得
wolfit 2007-4-11 07:50
嘿嘿,这个方法不错!AJAX最好还是不要舍弃的好!
Google 2007-4-11 13:14
看情况而定吧,评论确实多的话就用分页,不多就用默认的就行。
此帖算是多了一个选择,顶。
:lol
washun 2007-4-11 13:28
像有的人用日志作为友情链接,友情链接的页面长得连滚动条找不到了。
skyforever 2007-4-11 14:02
[quote]原帖由 [i]washun[/i] 于 2007-4-11 13:28 发表
像有的人用日志作为友情链接,友情链接的页面长得连滚动条找不到了。 [/quote]
晕死,那么长的?无语呀,
asongzhang 2007-4-13 14:30
做个记号,用到再修改