Umbraco中导航项的唯一名称

时间:2013-06-03 21:50:30

标签: xslt menu navigation umbraco

我正在使用默认的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>

......但我不知道该怎么办?

1 个答案:

答案 0 :(得分:0)

好吧,当我不断看到有关umbracoUrlName的文章时,我从未明白我在读什么,但我终于明白了。

基本上,我保持上面的代码相同,但我只是将别名从menuItemName更改为umbracoUrlName(它是一个文本字符串),无论我放在那里的是该页面的URL是什么!

Geeze,我现在觉得很傻,但至少它起作用了!