[英]Umbraco xslt navigation query
我的Umbraco xslt导航宏有点挣扎。 我已经在顶层工作,但现在意识到我需要第二层,并且每个顶层LI都有一个唯一的类(并在适当的情况下选择一个类)。 谁能帮我吗?
这是我到目前为止的内容:
<xsl:variable name="level" select="1"/>
<xsl:template match="/">
<ul id="section_navigation">
<xsl:for-each select="umbraco.library:GetXmlNodeById('1137')/ancestor-or-self::* [@level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']">
<li>
<a href="{umbraco.library:NiceUrl(@id)}">
<xsl:value-of select="@nodeName"/>
</a>
<xsl:if test="count(./child::*[@isDoc and string(umbracoNaviHide) != '1']) > 0">
<div class="sub">
<ul>
<xsl:for-each select="./child::*[@isDoc and string(umbracoNaviHide) != '1']">
<li>
<a href="{umbraco.library:NiceUrl(@id)}">
<xsl:value-of select="@nodeName"/>
</a>
</li>
</xsl:for-each>
</ul>
</div>
</xsl:if>
</li>
</xsl:for-each>
</ul>
</xsl:template>
这是我要寻找的结果:
<ul id="section_navigation">
<li class="pal"><a href="/Pal">Pal</a></li>
<li class="memo"><a href="/memo">Memo</a>
<div class="sub">
<ul>
<li><a href="/memo/latest">Latest</a></li>
<li><a href="/memo/history">History</a></li>>
</ul>
</div>
</li>
<li class="questions"><a href="/questions">Questions</a></li>
<li class="office"><a href="/office">Office</a></li>
<li class="mail"><a href="/mail">Mail</a>
<div class="sub">
<ul>
<li><a href="/mail/mailbox">MailBox</a></li><li><a href="/mail/new-message">New Message</a></li>
</ul>
</div>
</li>
<li class="jobs"><a href="/jobs">jobs</a>
<div class="sub">
<ul>
<li><a href="/jobs/all">All</a></li>
<li><a href="/jobs/magazine">Magazine</a></li>
</ul>
</div>
</li>
</ul>
不知道div class =“ sub”中的小节是否正确。 也许如果我将所选的类添加到父级LI,虽然可能会起作用。
我认为对于LI类,我可以使用页面Name并尝试类似<li class="{@Name}">
,但是没有成功。 任何想法也将不胜感激。
让我知道更多信息是否有用。
非常感谢
您不妨尝试以下Umbraco软件包:
http://our.umbraco.org/projects/website-utilities/cogworks-flexible-navigation
您可以查看它的XSLT以了解其工作原理,也可以直接使用它(我认为它会满足您的需求)。
对于您的原始问题,听起来好像您需要有关Umbraco自身的一些参考信息。
最好的地方是Umbraco Wiki
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.