You are not logged in.
Bonjour,
Mon site a la forme classique de :
index
- rubrique
- - sous rubrique
- - - fiche
Je souhaite construire une navigation qui se comporte différemment selon la page afficher.
Comment puis-je tester les 3 affichages ?
Je pars du code ci-dessous, mais les tests valent se répercutent aussi sur les pages filles :
<xsl:variable name="cat-main-node" select="ametys:sitemap()/page[(@sitemap:in-path = 'true') and not(@PLUGIN_TAGS_INVISIBLE)]/page"/>
<xsl:template name="cat-main-nav" >
<ul id="cat-menu" >
<xsl:for-each select="$cat-main-node" >
<!-- rubrique -->
<xsl:if test="ametys:sitemap()/page[@sitemap:name = 'c-a-t']">
<li>...</li>
<!-- sous rubrique -->
<xsl:if test="(@sitemap:in-path = 'true') and page[not(@PLUGIN_TAGS_INVISIBLE)]">
<xsl:for-each select="page[not(@PLUGIN_TAGS_INVISIBLE)]">
<li>...</li>
...
</xsl:template>
Offline
Je ne comprends pas votre code.
Vous souhaitez comprendre à quel niveau de profondeur est la page actuelle ?
Si oui ça doit ressemble à ceci...
<xsl:variable name="prodondeur" select="count(ametys:sitemap()//page[@sitemap:in-path = 'true'])"/>
A noter, pour des raisons de performances, évitez d'utilisez ametys:sitemap() dans une page alors que vous avez déjà le sitemap input data sous la main :
<xsl:variable name="prodondeur" select="count(/cms/inputData/sitemap//page[@sitemap:in-path = 'true'])"/>
Raphael Franchet
Expert Ametys
Offline