Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 06/01/2012 10:41:58

pdelage
Guest
From: Le Mans
Registered: 07/10/2010
Posts: 196
Website

Code pour liste pages sous-rubrique

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

#2 06/01/2012 10:49:30

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Code pour liste pages sous-rubrique

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

#3 06/01/2012 11:32:14

pdelage
Guest
From: Le Mans
Registered: 07/10/2010
Posts: 196
Website

Re: Code pour liste pages sous-rubrique

Merci pour la réponse.
Patrick

Offline

#4 09/01/2012 10:01:29

pdelage
Guest
From: Le Mans
Registered: 07/10/2010
Posts: 196
Website

Re: Code pour liste pages sous-rubrique

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">&#9658; </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

#5 09/01/2012 13:20:30

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Code pour liste pages sous-rubrique

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

#6 09/01/2012 14:42:54

pdelage
Guest
From: Le Mans
Registered: 07/10/2010
Posts: 196
Website

Re: Code pour liste pages sous-rubrique

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

#7 09/01/2012 15:27:07

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Code pour liste pages sous-rubrique

(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

#8 09/01/2012 17:58:21

pdelage
Guest
From: Le Mans
Registered: 07/10/2010
Posts: 196
Website

Re: Code pour liste pages sous-rubrique

Merci.
Cela fonctionne avec ce code.
Le parametre cocoon-view=content fonctionne également.
Patrick

Last edited by pdelage (09/01/2012 18:00:22)

Offline

Board footer

Powered by FluxBB