3
<b:if cond='data:post.labels'>
  <b:loop values='data:post.labels' var='label'>
    <data:label.name/>
    ,
  </b:loop>
</b:if>

这个循环列出了帖子中的所有标签,

是否可以通过控制循环(定义循环计数)来限制显示的标签数量?

例如:帖子中共有 7 个标签,但我只想显示前 3 个标签。

4

5 回答 5

1

这对我有用:

<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>

或者简单地使用<>(分别编码为&lt;&gt;):

<b:if cond='data:post.labels'>
  <b:loop values='data:post.labels' var='label' index='x'>
    <b:if cond='data:x&lt;=2'><data:label.name/>, </b:if>
  </b:loop>
</b:if>
于 2014-10-18T23:00:07.293 回答
1

可以直接在字段中添加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>
于 2018-03-01T23:36:59.493 回答
0

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 &#60;=2'>
    <a class='sfa-tag' expr:href='data:label.url' rel='tag'>
      <data:label.name/>
    </a>
    <b:if cond='data:x &#60;=1'>,</b:if>
  </b:if>
</b:loop>
于 2015-03-10T20:47:23.720 回答
0

不,不可能在 Blogger 模板 XML 中创建新的变量数据并为其赋值。谷歌没有提供相关信息的文档。Blogger 模板 XML 不是为它设计的。

于 2013-09-22T03:20:18.130 回答
0

这是一个简单的解决方案:

<b:if cond='data:post.labels'>
  <b:loop values='data:post.labels' var='label' index='sth'>
    <b:if cond='data:sth&lt;3'>
    <data:label.name/> ,
    </b:if>
  </b:loop>
</b:if>

在博主中: <=&lt;>=&gt;

而且我使用了这个语句:sth&lt;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&lt;6 and data:sth&gt;2'>
    <data:label.name/> ,
    </b:if>
  </b:loop>
</b:if>

上面的代码将显示从3rd loop到 的3 个标签5th loop

于 2015-07-18T14:42:01.737 回答