我正在使用默认的umbTopNavigation.xslt文件,并希望从URL中获得不同的导航菜单项名称。目前,无论我在内容编辑器中命名该页面,都会确定该页面的URL(即,关于我们= about-us.aspx)。但是如果我想让菜单项看“关于我们”但URL是“about.aspx”怎么办?我在doctype中添加了一个带有id“menuItemName”的文本字符串,但我不确定编辑此代码的正确语法是什么:
<ul id="topNavigation" class="nav">
<xsl:for-each select="$currentPage/ancestor-or-self::* [@level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']">
<li>
<xsl:if test="@id = $currentPage/@id">
<xsl:attribute name="class">current</xsl:attribute>
</xsl:if>
<a class="navigation" href="{umbraco.library:NiceUrl(@id)}">
<span><xsl:value-of select="@nodeName"/></span>
</a>
</li>
</xsl:for-each>
</ul>
显然这是需要改变的界限:
<span><xsl:value-of select="@nodeName"/></span>
......但我不知道该怎么办?
答案 0 :(得分:0)
好吧,当我不断看到有关umbracoUrlName的文章时,我从未明白我在读什么,但我终于明白了。
基本上,我保持上面的代码相同,但我只是将别名从menuItemName更改为umbracoUrlName(它是一个文本字符串),无论我放在那里的是该页面的URL是什么!
Geeze,我现在觉得很傻,但至少它起作用了!