11/27/2008

Blogger beta Hack:为标签添加说明

这个Hack(via Hoctro)可以让你的读者浏览标签的时候在标签的前面看到关于此标签的一些信息。类似于每个标签前面都有一篇不带标题的置顶文章。这个小小的很体贴的Hack,可以让你的读者明确的知道关于他们所打开的当前标签的一些详细信息,而不仅仅限于“标签”那几个字面上的理解。

顺带说一下,在Blogger beta里置顶贴是很容易实现的,因为Blog是按时间顺序排列的,而且帖子的日期是可以修改的,所以只要写一篇“未来”时间的帖子就可以让它置顶了。

在使用每一个Hack之前请备份你的模板,最好先在一个测试Blog上试一下,以免造成不可恢复的错误。这个Hack需要你展开Widget。

1.寻找下面这行代码

<b:widget id='Blog1' locked='false' title='Blog Posts' type='Blog'>

找到之后向后继续找到<b:includable id='main' var='top'>这一行,然后紧跟这一行之前粘贴如下代码:

<b:includable id='sub-introduction' var='data:posts'>
<b:if cond='data:blog.pageType != "item"'>
<b:loop values='data:posts' var='post'>
<!-- Check for Homepage case -->
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<b:if cond='data:post.title == "Introduction"'>
<div class='post'>
<div class='post-body'>
<p><data:post.body/></p>
</div>
</div>
</b:if>
</b:if>
<!-- Check for matched labels -->
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:post.title == data:label.name'>
<div class='post'>
<div class='post-body'>
<p><data:post.body/></p>
</div>
</div>
</b:if>
</b:loop>
</b:loop>
</b:if>
</b:includable>

2.现在再回到<b:includable id='main' var='top'>,继续寻找下面的代码所包围的那一部分代码:

<div id='blog-posts'>
...
<!-- navigation -->
<b:include name='nextprev'/>

用下面的代码完全替换中间的代码

<b:include name='sub-introduction' values='data:posts'/>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.title == "Introduction"'>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='postQuickEdit'/>
<b:include data='post' name='post'/>
</b:if>
<b:else/>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>
<b:include data='post' name='postQuickEdit'/>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "item"'>
<b:if cond='data:post.allowComments'>
<b:include data='post' name='comments'/>
</b:if>
</b:if>
</b:if>
</b:loop>
</div>

3.保存之后。我们要以特殊名字的文章来实现我们当初的目的。现在创建一篇新文章,要确保(1)文章名字与标签名字完全相同(2)此说明文章的标签也应一致。写完之后,可以把这篇文章的时间“回到过去”,以免让它显示在Blog里。

4.如果要在首页显示置顶说明。那么文章的标题要设置成“Introduction”,不要添加标签。时间要置前。选中"Post Options"中的“Don't allow” Reader comments,即不允许添加评论。

没有评论:

发表评论