首先做个小布告,鉴于朋友们的comments越来越多,我专门做了个最新留言的小板块。它就在右边的"日记", "MV", "动漫", "影评"的后面,就是那个颜色不一样的“~留言~”。点击那个tab各位同学就可以看到本blog的4条最新留言了。最底下也有个链接可以看到过往的所有留言。具体效果如左图所示。 当然,机器猫吃铜锣烧是没有的,那个是我为了好玩才加在这张截图上面的哈哈。
同学们可能会注意到,我网站右边有9个板块,加上网站最底下的那个“技术交流”板块,一共有10个板块,分别显示着不同label的最新5篇文章。有“日记”,“MV”,“天朝动态”,“动漫”,“影评”,“音乐”等等。(啊!我真是涉猎广泛,居然一个人在写这么多横跨各个领域的栏目。OK!短暂的自恋到此为止)。稍微熟悉blogger的同学都知道,我们可以通过添加一个"recent posts"的gadget来显示全blog最新的若干个贴子,但是那个gadget却无法单独显示某一个分类(label)下的最新几篇贴子。像我这样兴趣广泛,喜欢把一个网站用很多label分成很多栏目的人来说,不能实现这个功能是很头疼的。
但是通过JaveScript我们可以做到这一点。进入你Blogger的“design”下面的“Edit Layout”,在你想要生成该板块的地方添加一个Google自带“HTML/JavaScript”的gadget,并且贴入下面的代码:
<!--------------- Recent Posts by Label Start --------------->
<script type="text/javascript">
function recentpostslist(json) {
document.write('<ul>');
for (var i = 0; i < json.feed.entry.length; i++)
{
for (var j = 0; j < json.feed.entry[i].link.length; j++) {
if (json.feed.entry[i].link[j].rel == 'alternate') {
break;
}
}
var entryUrl = "'" + json.feed.entry[i].link[j].href + "'";//bs
var entryTitle = json.feed.entry[i].title.$t;
var item = "<li>" + "<a href="+ entryUrl + '" target="_blank">' + entryTitle + "</a> </li>";
document.write(item);
}
document.write('</ul>');
}
</script>
<script src="http://blogname.blogspot.com/feeds/posts/summary/-/YourLabel?max-results=number&alt=json-in-script&callback=recentpostslist"></script>
<p style="float: right;"><a style="color: rgb(51, 51, 255);" href="http://bulake83.blogspot.com/search/label/YourLabel/">More posts under this label >></a></p>
<script type="text/javascript">
function recentpostslist(json) {
document.write('<ul>');
for (var i = 0; i < json.feed.entry.length; i++)
{
for (var j = 0; j < json.feed.entry[i].link.length; j++) {
if (json.feed.entry[i].link[j].rel == 'alternate') {
break;
}
}
var entryUrl = "'" + json.feed.entry[i].link[j].href + "'";//bs
var entryTitle = json.feed.entry[i].title.$t;
var item = "<li>" + "<a href="+ entryUrl + '" target="_blank">' + entryTitle + "</a> </li>";
document.write(item);
}
document.write('</ul>');
}
</script>
<script src="http://blogname.blogspot.com/feeds/posts/summary/-/YourLabel?max-results=number&alt=json-in-script&callback=recentpostslist"></script>
<p style="float: right;"><a style="color: rgb(51, 51, 255);" href="http://bulake83.blogspot.com/search/label/YourLabel/">More posts under this label >></a></p>
<!--------------- Recent Posts by Label End --------------->
此代码的前半部分,负责循环读取并显示某个label的文章。你只需要把上面的“Blogname.blogspot.com”换成你自己的blog的网址,把“YourLabel”换成你想显示的label即可,比如说“音乐”,然后把“number”换成一个阿拉伯数字,就是你想在这个板块里显示多少篇文章。
此代码的后半部分,就是<p style="float:right;">之后的部分,负责显示所有该label的文章。
保存之后你的小板块就应该可以工作啦!如果你想要像我一样做一个显示comments的板块,只需要把上面从“feeds”到“?max-results”之间的那一段换成:“/comments/default”即可。还要把后半部分的链接(就是href=之后的那部分)换成你的comments的RSS的链接就行了。
这里我故意没有用Google自带的"recent comments"的gadget,原因有二:
1. 那个gadget更新比较慢,往往一个网友留言之后要好久才能在它那里显示出来;而我的这个手写的代码则很快;
2. 这个手写的代码可以选择隐藏留言网友的姓名(至于怎么显示这里容我按下不表),这样既可以节省空间,格式看上去又比较清爽。
至于怎么做成我的网站这样的每个小板块都有自己的背景色,怎么让这9个小板块都是并排显示,那就会是另一篇文章啦!
[完]





0 comments:
Post a Comment