[space]一直觉得随机阅读插件十分好用,可以把很古老的网志翻出来阅读。但是按照LBSky新BBS上的代码一直返回空值,结果找了MY`BLOG的代码,结果就好用了,然后认真对比了一下两个地方的代码,果然有很多不一样地方,今天总算搞定了。
1. 在Class/Cache.asp的lbsCache类中,添加一个新的数组成员:
this.randomArticles = new Array();
2. 在load和loadFromDb方法中添加对上面方法的调用:
this.loadRandomArticles();
3. 然后添加下面的方法:
// Load articles randomly -----------------------
this.loadRandomArticles = function()
{
// Get Max article Id;
this.randomArticles = new Array();
var tmpA = connBlog.query("Select TOP 1 log_id FROM [blog_Article] orDER BY log_id DESC",undefined,undefined,true);
if(tmpA != null)
{ var maxId = tmpA.getItem(0,0);
delete tmpA;
for(var i = 0; i < 10; i++)
{
// Get article id ramdonly;
var rId;
while(rId = this.rand(maxId))
{ if(!this.isInRandomArray(rId))
break;
}
tmpA = connBlog.query("Select log_title, log_viewCount FROM [blog_Article] Where log_id=" + rId,undefined,undefined,true);
if(tmpA != null)
{ this.randomArticles[i] = {"id": rId,
"title": tmpA.getItem(0,0),
"count": tmpA.getItem(1,0)
};
}else i--;
delete tmpA;
} }
delete tmpA;
}
this.isInRandomArray = function(number)
{ for(var i = 0; i < this.randomArticles.length; i++)
{ with(this.randomArticles[i])
{ if(id == number)
return true;
} }
return false;
}
this.rand = function(number){
var r = Math.ceil(number * Math.random() + 1);
return r > number ? number : r;
}
4. 最后,在global.asp中合适的地方添加一个新的panel:
<div id="panelRandomArts" class="panel">
<h5><%=lang["randomarticles"]%></h5>
<div class="panel-content">
<ul>
<%for(var i=0;i<theCache.randomArticles.length;i++){
with(theCache.randomArticles[i]){ %>
<li>[<%=count%>] <a href="article.asp?id=<%=encodeURIComponent(id)%>" title="<%=func.HTMLEncode(title)%>"><%=func.HTMLEncodeLite(func.cutString(title,25))%></a> </li>
<% } }%>
</ul>
</div>
</div>
[space]还有别忘记在lang/blog.asp中增加t["randomarticles"]="随机阅读";
[space]搞定,刷新首页即可。这样的话可以把很多古老的网志再翻出来阅读一下。
转载请注明出处:麦麦的不老阁 » 《LBS – 随机阅读列表》










对你的博客遭遇非法信息感到伤心!
所以得天天查看自己的网站,去删除一些垃圾甚至是黄色信息!
嗨!没有办法的事情哦!
还有那个横幅问题,现在解决了,谢谢哦!