在不同情况显示模板内容


(其实图片中有一个错误,至于错在哪里,看完这篇文章相信你就明白了)

之前linfavourite曾写过一篇文章:如何只在Blogger的首页或某一页显现插件(代理地址),这个技巧最大的缺陷是只能用于特定的页面,而不能应用到大多数页面,不过后来我发现其实还是可以的,这里做一些介绍。


代码


这个功能使用的是类似如下的代码:

<b:if cond='条件'>
   [条件成立时显示的内容]
<b:else/>
   [条件不成立时显示的内容]
</b:if>

这里的<b:else/>是可以选择不用的,这样的话默认不显示。而最重要的条件必须用特定的语句,我知道的有以下这些:

data:post.allowComments
data:post.showBacklinks
data:post.numComments = 1
data:blog.pageType == "item"
data:displayname == "Pstrey"
data:blog.homepageUrl == data:blog.url
允许评论
允许反向链接
评论数量
主页或文章页
作者
页面地址








这里面彩色显示的部分都是可变的,比如评论的= 1你也可以改成> 1之类;而item表示这是在文章页,主页(这里的主页也包括第二页,标签等等)则是index;还有作者名称,这个主要是用于团队博客的,具体视情况而定;而homepageUrl就真的是指主页了,你也可以替换成其他地址。

还有就是这个 == 它表示条件成立时显示,把它替换成 != ,就是条件成立时不显示了

例子


也许你到现在还不知道该怎么用,没关系,看看这个例子,我想你就明白了。

这是我文章下面显示评论数量的代码:

<b:if cond="data:post.allowComments">
   <b:if cond="data:post.numComments = 0">
      还没有评论
   <b:else/>
      <b:if cond="data:post.numComments = 1">
        1 条评论而已
      <b:else/>
        <data:post.numcomments/> 条评论了
      </b:if>
   </b:if>
</b:if>

这里面红色的部分的是条件,绿色部分就是条件成立后显示的内容。具体效果为:当没有评论时显示“还没有评论”;当评论数为1时这是“1 条评论而已”;有更多评论的话就是“(评论数) 条评论了”;如果我把某篇文章设定不允许评论的话,就什么也不显示了。

利用这些代码,可以做出很多实用的应用,比如类似WordPress关于页面,总之,发挥你的想象力去使用吧!

8 comments now

  1. 前些日子我也为这个搞了半天...不过后来还是放弃了。

    ps,换博客模板了啊,这个比以前那个丰富了~

    回复删除
  2. @Marqui:
    我也曾差点放弃,测试是否有效实在是太麻烦了

    后来在收集模板的背景图片中渐渐总结出规律,然后又到处去收集条件语句,终于写成了文章了......

    P.S.换模板已经有一段时间了,原来你没有订阅啊......

    回复删除
  3. @linfavourite:
    不过你的解说明显更加详细啊,希望这篇文章新手也能看懂

    回复删除
  4. 新模板真是不错,挺好看的,而且内容也丰富了。

    回复删除
  5. @Marcher:
    谢谢,不过这个模板你之前应该见过几次了啊?

    回复删除
  6. 还有就是这个 == 它表示条件成立时显示,把它替换成 != ,就是条件成立时不显示了。

    就在找这样一句话。谢谢啊,分享

    回复删除
  7. @小毅:
    嗯,这样的话可以节省一个b:else/
    话说经你这么一说发现题图搞错一点东西了啊......算了

    回复删除