在blogger xml中定义循环计数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在blogger xml中定义循环计数相关的知识,希望对你有一定的参考价值。
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<data:label.name/>
,
</b:loop>
</b:if>
此循环列出帖子中的所有标签,
是否可以通过控制循环来限制显示的标签数量(定义循环计数)?
例如:帖子中共有7个标签,但我只想显示前3个。
答案
不,不可能在Blogger模板XML中创建新的可变数据并为其赋值。 Google没有提供相关信息的文档。 Blogger模板XML不是为它而设计的。
另一答案
这对我有用:
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label' index='x'>
<b:if cond='data:x==0'><data:label.name/>, </b:if>
<b:if cond='data:x==1'><data:label.name/>, </b:if>
<b:if cond='data:x==2'><data:label.name/></b:if>
</b:loop>
</b:if>
或者只是使用<
或>
(分别编码为<
和>
):
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label' index='x'>
<b:if cond='data:x<=2'><data:label.name/>, </b:if>
</b:loop>
</b:if>
另一答案
这个将显示您的前三个标签(计数从零开始)。还包括2个逗号,第三个标签没有逗号。
<b:loop values='data:post.labels' var='label' index='x'>
<b:if cond='data:x <=2'>
<a class='sfa-tag' expr:href='data:label.url' rel='tag'>
<data:label.name/>
</a>
<b:if cond='data:x <=1'>,</b:if>
</b:if>
</b:loop>
另一答案
这是一个简单的解决方案:
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label' index='sth'>
<b:if cond='data:sth<3'>
<data:label.name/> ,
</b:if>
</b:loop>
</b:if>
在博主:<
= <
和>
= >
并且我使用了这个语句:sth<3
这意味着sth<3
,因此循环将重复3次,因此,3个条目应该出现(因为循环从0开始)
您还可以创建一个范围添加新语句,如下所示:
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label' index='sth'>
<b:if cond='data:sth<6 and data:sth>2'>
<data:label.name/> ,
</b:if>
</b:loop>
</b:if>
上面的代码将显示从3rd loop
到5th loop
的3个标签。
另一答案
可以直接将limit
关键字后跟数字添加到values
字段
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels limit 3' var='label'>
<data:label.name/>
,
</b:loop>
</b:if>
以上是关于在blogger xml中定义循环计数的主要内容,如果未能解决你的问题,请参考以下文章