You are not logged in.
Bonjour,
Je cherche à faire une remontée de contenu de type image et texte. Mais l'organisation serait : une balise div qui contient toutes les images de ma remontée de contenu, une autre balise div qui contient tous les textes de ma remontée de contenu.
J'ai donc trois questions :
1- ce code ci est il correct ?
<xsl:template name="common-service-body-nonempty-content-content">
<div class="carrousel_slides">
<xsl:apply-templates select="content[position () <= 5]" />
</div>
<div class="carrousel_captions">
<xsl:apply-templates select="content[position () <= 5]" />
</div>
</xsl:template>
2- comment tester dans la fonction <xsl:template match="content"> la présence de la div englobant le contenu pour déterminer si je dois récupérer l'image ou le texte de celui-ci ?
3- peut-on faire une boucle sur les contenus ? (ce qui m'arrange) avec qqchose comme <xsl:for-each select="content">
Merci !
Last edited by webupsud (29/01/2014 19:41:31)
Offline
Bonjour,
Vous pouvez tout à faire faire un <xsl:for-each select="content"> puis quelque chose du genre <xsl:copy-of select="div[contains(@class, 'content-ilustration')]"/> pour copier l'image à l'intérieur. Evidement cela dépend du html généré par la vue de votre contenu.
Et une deuxième boucle <xsl:for-each select="content"> pour le reste avec une copie du genre <xsl:copy-of select="*[not(div[contains(@class, 'content-ilustration')])]"/>
Raphael Franchet
Expert Ametys
Offline
Merci Raphaël pour toutes ces explications !
Je viens d'essayer sans succès de changer cette fonction <xsl:template name="common-service-body-nonempty-content-content"> dans la remontée de contenu par un simple <p>test</p>, mais rien ne semble fonctionner. Faut-il obligatoirement faire un <xsl:apply-templates select="content[position () <= 5]" /> dans cette fonction ? je ne comprend pas pourquoi il me retourne une erreur d'affichage avec un code aussi simple.
Offline
Si vous avez une erreur c'est déjà le signe que votre fichier est pris en compte.
Non il n'y a pas de code attendu, vous faites ce que vous voulez.
Quelle est l'erreur exacte ? (soit dans les logs, soit en cliquant sur détails) ... vous avez peut être une erreur XSL tout bête ? à moins que la XSL commune ne fasse appel à un template que vous n'avez pas implémenté ?
Pouvez-vous coller votre code ici ?
Raphael Franchet
Expert Ametys
Offline
Pardon, j'aurais du prendre plus de temps avant de poster, j'ai résolu le pb entre temps. Je finis par m'habituer aux erreurs, mais si un debuggeur plus intuitif pouvait arriver dans une prochaine version, cela aiderait grandement les intégrateurs ! (petit message en passant car celui ci est relativement illisible). Une simple combinaison de petites erreurs imbriquées les unes dans les autres (non déclaration d'une variable utilisée + présence d'un -- dans un commentaire), c'est corrigé et je suis arrivé au résultat voulu.
Mille fois merci pour le temps accordé et vos solutions qui m'ont bien dépanné jusqu'à présent !
Offline