0

我正在使用默认的 umbTopNavigation.xslt 文件,并且希望从 URL 中获得不同的导航菜单项名称。目前,无论我在内容编辑器中为页面命名如何,都决定了该页面的 URL(即 About Us = about-us.aspx)。但是,如果我希望菜单项显示“关于我们”但 URL 是“about.aspx”怎么办?我在 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>

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

4

1 回答 1

0

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

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

哎呀,我现在觉得很傻,但至少它是有效的!

于 2013-06-04T14:51:44.250 回答