我正在使用Asp.Net CMS Umbraco并想要一些帮助来确定Umbraco CMS是否有特定的东西可能会创建一个多色菜单栏...与标准不同html和css操作。
我使用的菜单条形码基于Umbraco附带的友好幽灵主题。
现在,在菜单中使用不同颜色的常规方法类似于
div # menu ul.rMenu li.page-item-(some number) {background-color: # (whatever);}
...
...
<li class "rMenu-expand page-item-(the same number as above)"><a href="(link to whatever site on the menu)">
<span> Wording for the particular tab </span></a></li>
和bingo ......(某些数字)标签有(无论如何)颜色!
然而,Umbraco似乎正在使用与上述策略不完全兼容的不同设置。我应该看看* umbTextpage id * parentID * nodeType ...还是我还没注意到的完全不同的东西?
我相信nodeName被用于特定标签的措辞......我应该接受它,然后,nodeType指的是标签本身???
那很好,谢谢。但是,菜单是使用xslt动态生成的。你认为我应该尝试将该代码(转换为xslt)插入菜单生成过程......
<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>
...或尝试在事后使用剃刀代码(即创建菜单并随后循环浏览菜单的元素,为每个节点提供数字'标签')?
答案 0 :(得分:0)
Umbraco的美妙之处在于您可以完全控制布局。您可以根据需要构建菜单。
我不知道您是使用xslt还是razor来生成菜单,但是如果您正在尝试获取一个唯一的数字以附加到“page-number-”,那么请使用节点的Id,即赢得'即使编辑了节点的名称,也要更改。
使用Umbraco 4.7 razor你会做这样的事情:
@{
<ul>
@foreach (var node in Model.AncestorOrSelf().Children.Where("Visible"))
{
<li class="rMenu-expand page-item-@node.Id">
<a href="@node.Url">
<span>@node.Name</span>
</a>
</li>
}
</ul>
}