2009年3月20日星期五

如何只在Blogger的首页或某一页显现插件

这个方法其实是从在BloggerTricks.com这篇文章里看到的,原文为英文,请小心慎入~

其实如果按照平常的添加插件的方法的话,插件会显示在你的部落格的每一页。问题是偶尔还是会有需要只出现在首页,或者只出现在某一特定文章的插件。如果你有这样的要求的话,那这篇文章就很有帮助了。

首先先到Blogger控制台的布局——>修改HTML,然后勾选扩展窗口小部件模板,接着,当然就是先备份,以免出现大家都不愿意看到的结果(我以前试过因此被逼重新安装我的模板……包括我另外添加的一些功能……)。

接着,我们就要寻找已经被添加了的插件的代码,要注意的是,这些代码的开头都会是<b:widget id=的

例子:标签的插件的代码开头会是类似以下如此

<b:widget id='Label1' locked='false' title='Title' type='Label'>

然后HTML插件代码的开头会是类似如此

<b:widget id='HTML1' locked='false' title='' type='HTML'>

至于要怎样找到你所要更换的插件的代码,没有什么好方法的,打开Page Source一行行慢慢找吧。
Firefox:View >> Page Source
IE:View >> Source

然后在你要修改的b:widget id那行代码的下方,你会看到

<b:includable id='main'>

然后在这句的下方添加

<b:if cond='data:blog.url == data:blog.homepageUrl'>

还没结束,最后一个步骤就是找出和b;includable id相对应的</b:includable>,在之前添加一个</b:if>,这才算结束了。

以下是一个例子:

<b:widget id='HTML2' locked='false' title='' type='HTML'>
<b:includable id='main'>
<b:if cond=’data:blog.url == data:blog.homepageUrl’>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>
  <b:include name='quickedit'/>
</b:if>
</b:includable>
</b:widget>

红色那两行便是插件的代码范围,蓝色的那两行便是你需要寻找的,粗体的那两行就是你需要添加的。

这样一来,相关的插件便只会在首页显现了。

至于如果只是不要在首页显现的话,步骤一样,只是把最后添加的这行代码

<b:if cond='data:blog.url == data:blog.homepageUrl'>

更换成这行代码

<b:if cond='data:blog.pageType == "item"'>

若是只要在特定的文章那页显示的话,步骤也是一样,也只是在最后时,添加这行代码

<b:if cond='data:blog.url == "Blog Post URL"'>

就成了!

如果不明白的话就请踊跃发问吧!

linfavourite signature


4 条评论:

  1. 其实不只是页面元素,对于模板中的其他东西也是可以的

    回复删除
  2. To Pstrey:
    意思是侧栏,顶栏等地方都可以吗?

    回复删除
  3. 应该说,模板中的任何代码都是可以的,比如那个阅读全文就有用到这个

    回复删除

LinkWithin

Related Posts Plugin for WordPress, Blogger...