2006-09-02

Blogger-Beta Hack之“简洁的搜索/标签结果”

Blogger-Beta的功能日渐完善,不过似乎还有很多不如人意的地方。8"O"感觉最不方便的就是无法像现在这样在首页显示摘要(在beta中使用摘要),在帖子页显示全文。

Beta另一个不足就是,当你搜索blogger或者选中一个标签时,显示的结果会把包含该关键字/标签的帖子的所有内容显示在一起,实在是太混乱了。能不能像目前的分类一样只显示简单的显示一个标题?

感谢Ramani给我们提供了以下的Hack(也是“下拉标签/分类”Hack的提供者)。


进入模板HTML编辑,找到下面这段代码

<b:widget id='Blog1' locked='false' title='Blog Posts' type='Blog'>
<b:includable id='main' var='top'>
<!-- posts -->
<div id='blog-posts'>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>

<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:loop>
</div>


用下面的蓝色代码替换红色代码
<b:if cond='data:blog.homepageUrl !=
data:blog.url'>
<b:if cond='data:blog.pageType != "item"'>
<a expr:href='data:post.url'>
<data:post.title/></a><br/><br/>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<b:else/>
<b:include data='post' name='post'/>
</b:if>

随便搜索一个关键词或者打开一个标签看看结果吧,一切就是这么简单!


5 个说法:

rockedblade 说...

很不错,谢谢了。不过感觉beta的搜索还有不少问题。

8O 说...

beta嘛!
相信blogger会越做越好

稻子 说...

不错

xiaofeng 说...

我也应用了这个技巧,并且在blogger beta中完全实现。但是在旧版的blogger中只能实现存档页面的标题显示,而搜索结果则会把文章内容全部显示出来。

另外,我现在的blog用的是beta版+classic templete,因此后台的代码是旧版。页面上我把label放在了上方,如果点上面的label,其链接到http://xxx.blogspot.com/search/label...这样的地址,也不能单独列出标题。

我看了一下代码。新版中它是通过检测页面的网页地址来实现页面的显示内容的。而旧版中是用archivepage等控制符来实现的。因为只有四个控制符,即archivepage、mainpage、itempage还有mainorarchivepage,因此对于搜索或label结果,它只属于mainpage,所以其显示的结果和mainpage是一样的。

既然在beta版中可以通过判断网页地址的方式来控制显示内容,那我想是不是在旧版中也可能用相同的办法实现呢?通过script语句?我在网上搜了一下,找到了这篇"http://www.pconline.com.cn/pcedu/empolder/wz/javascript/0406/402443.html ",它是检测本身的网页地址来实现页面套接的,但我拿它的方法用在mainpage那个地方,不管用,当然我是瞎试的,本身对这个script怎么用完全不熟悉。

我想你应该在网页改造方面很厉害的,能不能帮忙研究一下这个问题?非常感谢!

盼复!

8O 说...

8o并非网页改造方面的高手,o只是将自己写blogger过程中用到的一些hack介绍给大家。但是o会留意这个问题,如果有答案一定第一时间通知你。

HOW TO: 怎样生成自己的标签云

搜索此博客