gpt4 book ai didi

xslt - 在 XSLT/Umbraco 中的 for-each 之前检查项目计数

转载 作者:行者123 更新时间:2023-12-04 04:35:39 28 4
gpt4 key购买 nike

我正在使用 Umbraco 解决方案中的 XSLT 文件。

如果没有要显示的元素,我希望整个 ul 标签消失:

<ul>
<xsl:for-each select="umbraco.library:GetXmlNodeById($source)/child::* [@isDoc and string(umbracoNaviHide) != '1']">
<li>
<a href="{umbraco.library:NiceUrl(@id)}" class="menuitem">
<xsl:value-of select="@nodeName"/>
</a>
</li>
</xsl:for-each>
</ul>

如果 foreach 循环没有项目,我如何制作一个跳过整个代码块的 IF 语句?

最佳答案

尝试先将要选择的节点放入变量中,然后包装 的输出ul xsl:if 中的元素,您可以在其中测试节点数。

这样的事情应该做:

<xsl:variable name="children" select="umbraco.library:GetXmlNodeById($source)/child::* [@isDoc and string(umbracoNaviHide) != '1']" />
<xsl:if test="count($children) > 0">
<ul>
<xsl:for-each select="$children">
<li>
<a href="{umbraco.library:NiceUrl(@id)}" class="menuitem">
<xsl:value-of select="@nodeName"/>
</a>
</li>
</xsl:for-each>
</ul>
</xsl:if>

关于xslt - 在 XSLT/Umbraco 中的 for-each 之前检查项目计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19784183/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com