<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<data:label.name/>
,
</b:loop>
</b:if>
这个循环列出了帖子中的所有标签,
是否可以通过控制循环(定义循环计数)来限制显示的标签数量?
例如:帖子中共有 7 个标签,但我只想显示前 3 个标签。
这对我有用:
<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>
可以直接在字段中添加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>
This one will show your first three labels (count starts from zero). 2 commas are also included, no comma for the third label.
<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>
不,不可能在 Blogger 模板 XML 中创建新的变量数据并为其赋值。谷歌没有提供相关信息的文档。Blogger 模板 XML 不是为它设计的。
这是一个简单的解决方案:
<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
到 的3 个标签5th loop
。