您是否可以将博客设置为仅显示Blogger中帖子的第一个标签?

时间:2017-02-10 08:53:46

标签: javascript html css blogger google-gadget

我在 HTML CSS 方面有一些经验,但正确的编码如 Java,JS PHP 我是一个新手,加上这是我第一次从头开始构建Blogger 模板/网站,所以这是一个很多的试验和错误。我试过寻找答案,但我找不到我认为与我所寻找的相关的答案。

作为标准,我们知道Blog1小部件将在着陆页上显示您最新的帖子以及页脚中的作者详细信息,评论和标签。 我的问题是否可以更改要调用的代码,只显示帖子底部显示的第一个标签?

作为标准,这是用于在本机博客编码中调用标签列表的语法:

 <b:if cond='data:top.showPostLabels and data:post.labels'>
   <data:postLabels/>
   <b:loop values='data:post.labels' var='label'>
     <a expr:href='data:label.url' rel='tag'><data:label.name/></a>
     <b:if cond='not data:label.isLast'>,</b:if>
   </b:loop>
</b:if>

我虽然可能会改变b:循环来说ab:include会阻止博客调用更多的标签,并且可能只停留一个,但是当我改变它时它基本上停止了整个博客的显示! / p>

我想要的只是“标签:Label1”而不是“标签:Label1,Label2,Label3等”,而不是仅仅将标签数量限制为一个。

提前感谢任何回复和帮助的人。

标记

2 个答案:

答案 0 :(得分:1)

更新:通过此代码可以更简单地实现您的需求 -

<data:postLabelsLabel/> <a expr:href="data:post.labels[0].url" ><b:eval expr='data:post.labels[0].name'/></a>

需要额外的条件声明才能将标签限制为一个。以上代码将修改如下 -

<b:if cond='data:top.showPostLabels and data:post.labels'>
    <data:postLabelsLabel/>
    <b:loop values='data:post.labels' var='label'>
        <b:if cond='data:label.isLast'>
            <a expr:href='data:label.url' rel='tag'>
                <data:label.name/>
            </a>
        </b:if>
    </b:loop>
</b:if>

我已经使用条件data:label.isLast来打印标签,只要它是帖子中的最后一个(如果只有一个标签,则会打印)。 Blogger按字母顺序排列标签,不对更改排序顺序提供任何控制。

例如,如果帖子的标签如下“标签:A,B,C”,则在将代码更改为上面的代码后,最终结果将是“标签:C“

答案 1 :(得分:1)

您可以使用index属性,通过循环

为帖子标签提供从零开始的索引
<b:if cond='data:top.showPostLabels and data:post.labels'>
    <data:postLabelsLabel/>
    <b:loop values='data:post.labels' index='i' var='label'>
        <b:if cond='data:i == 0'>
          <a expr:href='data:label.url' rel='tag'>
            <data:label.name/>
          </a>
        </b:if>
    </b:loop>
</b:if>