You are not logged in.
Bonjour,
Nous voulons ajouter, dans le template page, le code générant la liste des pages marquées sous-rubrique présentes dans une rubrique, comme sur notre V2
(Dans cette rubrique ...)
J'ai récupéré le code suivant sur notre skin V2 :
<xsl:for-each select="/cms/inputData/sitemap//page[@PLUGIN_TAGS_RUBRIQUE and @anycontent:current = 'true']/page[not(@PLUGIN_TAGS_INVISIBLE)]">
ce qui me provoque une erreur sur @anycontent:current. Quelle est le nom utilisé en v3 ?
Merci
Patrick
Offline
Bonjour,
en v3 on utlise "@sitemap:current"
pour peu que vous déclariez le namespace en en-tête du fichier
xmlns:sitemap="http://www.ametys.org/inputdata/sitemap/3.0"
Raphael Franchet
Expert Ametys
Offline
Bonjour,
Le code suivant me permet bien d'afficher toutes les rubriques étiquettées "sous-rubrique". J'ai essayé sans succès d'adapter le code V2 suivant :
<xsl:if test="/cms/inputData/sitemap//page[@PLUGIN_TAGS_RUBRIQUE and @sitemap:current = 'true']/page[not(@PLUGIN_TAGS_INVISIBLE)]">
<div class="subrubrique">
<h4><i18n:text i18n:key="IN_SECTION" i18n:catalogue="skin.{$skin}"/></h4>
<ul>
<xsl:for-each select="/cms/inputData/sitemap//page[@PLUGIN_TAGS_RUBRIQUE and @sitemap:current = 'true']/page[not(@PLUGIN_TAGS_INVISIBLE)]">
<xsl:variable name="name" select="./@sitemap:name" />
<xsl:for-each select="/cms/inputData/Model/children/content[pages//page/@name = $name]">
<!-- On suppose que la page est une sous page de la rubrique de façon à pouvoir
determiner en cas de pages multiples laquelle nous interesse -->
<xsl:variable name="page-path" >
<xsl:value-of select="pages/page[contains(@path,/cms/inputData/Model/page/@path)]/@path" />
</xsl:variable>
<li><span class="color">► </span><a href="{$cms-context}/{$lang}/{$page-path}.html">
<xsl:if test="pages/page/@title">
<xsl:value-of select="translate(pages/page/@title,'\','')"/>
</xsl:if>
</a></li>
.....
</div>
</xsl:if>
</xsl:template>
J'ai essayé de voir le contenu xml à l'aide de du paramètre ?coccon-view=xml afin de trouver commetn adapter
/cms/inputData/Model/children/content[pages//page/@name = $name]
mais la requete me ramène le contenu html !!
Merci pour votre aide ....
Oatrick
Offline
Je teste sur la demo (ametys 3.2) (admin/admin par exemple) qui me renvoie bien du xml
Par rapport à votre code, que souhaitez-vous afficher ? qu'est-ce qui ne fonctionne pas ?
En première approche, il y a quelque chose qui pourrait être améliorer : sitemap//page[@PLUGIN_TAGS_RUBRIQUE]
avec ce code vous chercher des pages quelque soit leur niveau dans la hierarchie avec le tag Rubrique
mais à priori les rubriques étant à la racine vous pouvez remplacer le // par un simple /
ensuite vous utilisez le @sitemap:current qui cherche la page sélectionnée, sachez qu'il existe aussi @sitemap:in-path qui permer de savoir si une page est dans le fil d'ariane.
Raphael Franchet
Expert Ametys
Offline
Bonjour,
Concernant le parametre cocoon-view=xml, je fais ce test notre V3.3 mis en place par D. Gavalda.
Je cherche à afficher les pages filles de la page courante tagguées "sous-rubrique"
Patrick
Offline
(pour le cocoon-view, je crois que ça a été changé en 3.3, c'est pour ça que je précisais que la démo en 3.2... peut-êtrte cocoon-view=content... je dois vérifier)
ça serait quelquechose comme
<xsl:for-each select="/cms/inputData/sitemap/page[@PLUGIN_TAGS_RUBRIQUE and @sitemap:current = 'true']/page[@PLUGIN_TAGS_SOUSRUBRIQUE]">
Le code me parait bien (si on est d'accord qu'une sous-rubrique est une page fille de rubrique qui n'a pas l'étiquette invisible)
peut-être pouvez joindre le code complet de la page : l'erreur est peut-être ailleurs ?
qu'est-ce qui s'affiche pour le moment ? vous n'entrez pas du tout dans xsl:if ?
Raphael Franchet
Expert Ametys
Offline