Bonjour à tous,
Je souhaites générer la class des liens de mon menu via xslt.
Mais ne criez pas, j'ai bien compris que la portée des variables est locale au noeud où elles ont été déclarées.
Mon problème qui n'en est pas vraiment un, plus un souci d'organisation, optimisation, pour éviter les répétitions de mon code.
Mon code actuel :
Là, en l'état j'ai bien entendu une erreur comme quoi $class_menu est null.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <ul id="liste_categorie"> <xsl:variable name="categorie" select="col2/liste_article/@categorie" /> <xsl:for-each select="col1/liste_categorie/categorie"> <xsl:choose> <xsl:when test="$categorie = @id"> <xsl:variable name="class_menu" select="string('actif')" /> </xsl:when> <xsl:otherwise> <xsl:variable name="class_menu" select="string('normal')" /> <xsl:value-of select="$class_menu" /> </xsl:otherwise> </xsl:choose> <li> <a href="?cid={@id}&categorie={@rewrite}" class="{$class_menu}"> <xsl:value-of select="self::categorie" /> </a> <!-- <span>(<xsl:value-of select="@nb" />)</span> --> </li> </xsl:for-each> </ul>
Y'a t-il un moyen de faire sans répéter dans chaque condition du switch ma balise a ?
Partager