首页 文章

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

提问于
浏览
5

我在 HTMLCSS 有一些经验,但正确的编码如 Java, JSPHP 我是新手,加上这是我第一次从头开始构建Blogger Template/Site 所以这是一个很多的试验和错误 . 我试过寻找答案,但我找不到一个我认为与我所寻找的相关的答案 .

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

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

<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:循环说b:include会阻止博客调用更多的标签,并且可能只停留在一个,但是当我改变它时它基本上停止了整个博客的显示!

我想要的只是 "Labels: Label1" instead of "Labels: Label1, Label2, Label3, etc" 而不是将标签数量限制在一个 .

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

标记

2 回答

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

    Update: 通过此代码可以实现更简单的方法来实现您的需求 -

    <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按字母顺序排列标签,不提供对更改排序顺序的任何控制 .

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

相关问题