2010-11-04 11 views
2

comment créer un menu Umbraco comme ça en utilisant XSLT?Créer un menu multi-niveaux pour umbraco en utilisant XSLT?

<ul id="topmenu"> 
    <li><a href="#">top1</a></li> 
    <li><a href="#">top2</a></li> 
    <li><a href="#">top3</a> 
     <ul> 
     <li><a href="#">sub1</a></li> 
     <li><a href="#">sub2</a></li> 
     <li><a href="#">sub3</a></li> 
     </ul> 
     </li> 
     <li><a href="#">top4</a></li> 
     <li><a href="#">top5</a></li> 
</ul>menu like this using XSLT ? 
+0

@ user497447: Ceci est possible avec XSLT standard. Peut-être que vous obtiendrez une réponse si vous postez votre échantillon d'entrée en plus de votre sortie désirée. –

Répondre

7

Quelque chose comme ça devrait fonctionner. Ceci est basé sur le XSLT de navigation généré initialement.

<ul class="nav sf-menu"> 
<xsl:for-each select="$currentPage/ancestor-or-self::*[@isDoc and @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']) &gt; 0"> 
     <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> 
    </xsl:if> 
    </li> 


</xsl:for-each> 
</ul> 
Questions connexes