首页 > Google, 技术贴 > Blogger:让某个widget只在首页(非首页)显示

Blogger:让某个widget只在首页(非首页)显示

2008年10月11日
看了咖啡鱼的这篇文章,发现还是有点问题。

照着那篇文章弄,还留下了类似<div class=’widget HTML’ id=’HTML1′></div>的东西,所以如果对widget类设置过css样式的话,那必然还是会显示出来。现在有两种办法,一是把widget类的css样式去掉,用其他方法实现,还有一种就是我下面介绍的方法。

1.紧跟Includable开始之后(<b:includable id=’main’>之后)添加:
<b:if cond='data:blog.pageType == "index"'>

ps. pateType包括index(索引页),item(文章页),archive(存档页)三种,那个==(等于)对应还有!=(不等于)。

2.在Includable结束之前(</b:includable>之前)添加:
<b:else/>
<div id="t3">
<script type="text/javascript">
document.getElementById("t3").parentNode.style.display="none";//将父节点,即上一层div设置为不显示
</script>
</div>
</b:if>

ps. 上面的t3在每个widget中都要不同(必须),这样就可以彻底隐藏了。

下面是一个示例(不在文章页中显示):

<b:widget id='HTML1' locked='false' title='HTML' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.pageType != "item"'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>

<b:include name='quickedit'/>
<b:else/>
<div id="t3">
<script type="text/javascript">
document.getElementById("t3").parentNode.style.display="none";
</script>
</div>
</b:if>
</b:includable>
</b:widget>

分类: Google, 技术贴 标签:
  1. 2008年10月11日19:41 | #1

    介绍得比较详细,之前还不知道pateType有三个参数,一直就用item

    blogger的if判断还真多,还有许多判断

本文的评论功能被关闭了.