我需要支持使用umbraco制作的网站。我是umbraco的新手。让我解释一下我的情景。我已经离开了用于导航到不同页面的菜单。现在我需要更改一个菜单项以导航到另一个页面。这怎么可能?
使用宏来创建主菜单。母版页显示它具有宏DisplayMainMenu。此宏使用XSLT文件DisplayMainMenu。我附上了xslt代码:
<div id="main_navigation" class="jqueryslidemenu unitPng">
<ul>
<li><a href="/">Home</a></li>
<xsl:for-each select="$pagesNodeSet">
<xsl:sort select="./@sortOrder" data-type="text" order="ascending"/>
<li>
<a href="{umbraco.library:NiceUrl(./@id)}"><xsl:value-of select="./title"/></a>
<xsl:if test="count(./*[@isDoc and string(umbracoNaviHide) != '1' and string(includeInMainNavigation) = '1']) > 0">
<ul class="sub-menu">
<xsl:for-each select="./*[@isDoc and string(umbracoNaviHide) != '1' and string(includeInMainNavigation) = '1']">
<xsl:sort select="./@sortOrder" data-type="text" order="ascending"/>
<li><a href="{umbraco.library:NiceUrl(./@id)}"><xsl:value-of select="./title"/></a></li>
</xsl:for-each>
</ul>
</xsl:if>
</li>
</xsl:for-each>
</ul>
</div>
由于格式化方面的一些问题,无法包含某些代码部分。
答案 0 :(得分:1)
您的xslt会根据umbraco信息中心内容部分中定义的网站布局动态创建菜单。因此,您不能“将菜单项更改为指向不同的页面”。您可以做的是通过添加新页面,移动现有页面或删除不需要的页面来更改您的站点结构以反映您的需求。
如果您想添加静态页面链接,可以将其添加到上面的xslt中(与添加“Home”链接的方式相同)但是您需要确保它位于{{ 1}}循环,除非你想进入一些复杂的xslt编码。
基本上,上面的代码正在做的是创建一个无序列表,其中第一个列表项是为主页静态添加的。然后循环每个子页面并添加链接。然后对于每个子页面,如果它具有可见的子页面(通过确保它们不应被隐藏并且应该使用它们的umbracoNaviHide和includeInMainNavigation属性包含在主导航中),它将循环遍历每个子页面并显示链接。