2013-08-02 88 views
3
<b:if cond='data:post.labels'> 
    <b:loop values='data:post.labels' var='label'> 
    <data:label.name/> 
    , 
    </b:loop> 
</b:if> 

這個循環列出所有標籤在後,定義循環計數在博客XML

是可以限制通過控制迴路(定義循環計數)所示的標籤數?

例如:帖子中共有7個標籤,但我只想顯示前3個。

回答

0

不,不可能在Blogger模板XML中創建新的變量數據併爲其賦值。 Google沒有提供相關信息的文檔。 Blogger模板XML不是爲它設計的。

0

這個工作對我來說:

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

這其中會顯示你的前三個標籤(計數從開始零)。還包括2個逗號,第三個標籤沒有逗號。

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

而且我用這個statment:sth&lt;3這意味着sth<3,使該循環將重複3次,因此,應顯示3個條目(因爲循環從0開始)

您還可以創建加入新statment一系列,如下圖所示:

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

上面的代碼會顯示3個標籤從3rd loop回升至5th loop

0

它可以直接在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>