我的 Umbraco 项目具有以下结构:
Content
-Home
--Contacts
--Offices
-About
主页有'/'地址,是一个索引页面。有人可以告诉我如何通过 XSLT 获取 Both - Home 和 About 元素以将它们放入菜单中吗?目前我只能按当前页面的级别(即主页)获取子节点,所以我只得到联系人和办公室。我不能通过 documentType 来获取它们,因为我想要一个动态的,而不是硬编码的。有没有办法让 Home 和 About 不断显示在菜单中?我对 XSLT 完全陌生,而且是在 Umbraco 本身的第二天。
编辑:这是 XML 的一部分,在
<xsl:param name="currentPage"/>
<!-- Input the documenttype you want here -->
<xsl:variable name="level" select="1"/>
<xsl:template match="/">
<!-- The fun starts here -->
<ul>
<xsl:for-each select="$currentPage/ancestor-or-self::* [@level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']">
<xsl:if test="$currentPage/@id = @id">
<li class="selected">
<a href="{umbraco.library:NiceUrl(@id)}">
<xsl:value-of select="@nodeName"/>
</a>
</li>
</xsl:if>
<xsl:if test="$currentPage/@id != @id">
<li>
<a href="{umbraco.library:NiceUrl(@id)}">
<xsl:value-of select="@nodeName"/>
</a>
</li>
</xsl:if>
<xsl:value-of select="$currentPage/id"/>
</xsl:for-each>
</ul>
</xsl:template>
Edit2:通过取消水平平等,我得到了“self”,即“Home”,但仍然没有“About”。也许您知道如何找到有关“X-Path”选择器的信息,例如“ancestor-or-self::*”?