我在 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等”,而不是仅仅将标签数量限制为一个。
提前感谢任何回复和帮助的人。
标记
答案 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>