CMS Automne

Forum de la communauté du CMS Automne
Nous sommes actuellement le Dim Nov 24, 2024 12:01 am

Le fuseau horaire est UTC [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 9 messages ] 
Auteur Message
MessagePublié: Ven Déc 17, 2010 8:31 am 
Hors-ligne

Inscrit(e) le : Mar Nov 02, 2010 4:39 pm
Message(s) : 22
Bonjour,

J'ai créé un polymod appelé "psites_web"
Le module contient entre autre une catégorie appelé "Type"

Le souhaite créé une rangé contenant la liste des catégories avec pour chacune les objets la contenant.


Voici l'apparence souhaitée

<Catégorie1>
------------------------------------------------------------------------------------
<objet1> <objet2> <objet3> ...

<Catégorie2>
------------------------------------------------------------------------------------
<objet4> <objet5> <objet6> ...

...


Je n'arrive pas pour l'instant a créer simplement la liste des catégories (la page est vide).
Voici le code que j'ai mis:

<row>
<block module="psites_web" id="psites_web" language="fr">
<atm-function function="categoriesTree" object="{Sites_Web:Type}" root="0" >
<item><li class="{lvl}"> ... {id} ... {label} ... {sublevel} ... </li></item>
<itemselected><li class="{lvl}"> ... {id} ... {label} ... {sublevel} ... </li></itemselected>
<template><ul>{sublevel}</ul></template>
</atm-function>
</block>
</row>

Pourriez vous me dire ou se situe mon erreur ?

Merci par avance


Dernière édition par celesta le Lun Déc 20, 2010 4:32 pm, édité 1 fois.

Haut
 Profil  
 
MessagePublié: Ven Déc 17, 2010 9:32 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Ton attribut root dans ton tag atm-function ne doit pas être à 0. Il te faut l'identifiant d'une catégorie servant de racine à tes catégories à lister.

Mais de toute manière, cette méthode n'est pas la bonne pour faire que que tu souhaite.

Il faut plutôt le faire de cette manière :
Code :
<row>
<block module="psites_web" id="psites_web" language="fr">
<atm-search what="{Sites_Web}" name="searchSites">
<atm-search-order search="searchSites" type="{Sites_Web:Type:fieldID}" direction="asc" />
<atm-result  search="searchSites">
 ...
</atm-result>
</atm-function>
</block>
</row>


Haut
 Profil  
 
MessagePublié: Lun Déc 20, 2010 12:03 pm 
Hors-ligne

Inscrit(e) le : Mar Nov 02, 2010 4:39 pm
Message(s) : 22
J'ai essayé ce code, mais il me renvoi pour chaque contenu, le nom de la catégorie correspodante.
Par rapport a mon exemple du premier topic, le résultat affiché est:
<Catégorie1>
<Catégorie1> (dans le cas ou 2 objets sont associés à la catégorie 1)

Or ce que je souhaite c'est afficher la liste de toutes les catégories (sans doublon)
<Catégorie1>
<Catégorie2>

C'est pour cela que je souhaitais utiliser la fonction categoriesTree mais elle n'a pas l'air de fonctionner ou je ne l'utilise pas correctement.


Haut
 Profil  
 
MessagePublié: Lun Déc 20, 2010 12:09 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Il te suffit de tester pour chaque résultat si tu as déjà envoyé le nom de la catégorie en cours ou pas.


Haut
 Profil  
 
MessagePublié: Lun Déc 20, 2010 3:47 pm 
Hors-ligne

Inscrit(e) le : Mar Nov 02, 2010 4:39 pm
Message(s) : 22
Je dois vraiment être plus mauvais que la moyenne, mais je n'arrive pas a juste tester chaque résultat.

Après chaque objet, j'enregistre la catégorie dans la variable $padministration_cat. Au prochain objet je regarde si la catégorie a changé. Cependant, j'ai une page blanche qui s'affiche (je n'ai meme plus mon modele de page).
Voici le code qui ne fonctionne pas:

Code :
<row>
  <block module="padministration" id="padministration" language="fr">
    <atm-search what="{donnees}" name="liens">       
      <atm-search-order search="liens" type="{donnees:Categorie:fieldID}" direction="asc" />
      <atm-result  search="liens">   
        <atm-if what="({donnees:Categorie:fieldID} !== {$padministration_cat})">
          {donnees:Categorie:label}
        </atm-if>
        <atm-setvar vartype="var" varname="padministration_cat" value="{donnees:Categorie:fieldID}" />   
        {donnees:Nom:label}
      </atm-result>
    </atm-search>
  </block>
</row>


Haut
 Profil  
 
MessagePublié: Lun Déc 20, 2010 3:50 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Teste plutôt ça :
Code :
<row>
   <block module="padministration" id="padministration" language="fr">
      <!-- Initialisation de la variable qui contiendra le libellé de la catégorie en cours -->
      <atm-setvar vartype="var" varname="padministration_cat" value="" />
      <atm-search what="{donnees}" name="liens">
         <!-- On ordonne les résultats par catégorie -->
         <atm-search-order search="liens" type="{donnees:Categorie:fieldID}" direction="asc" />
         <!-- On boucle sur les résultats -->
         <atm-result search="liens">       
            <!-- On affiche le libellé de la catégorie seulement s'il diffère de la précédente -->
            <atm-if what="{donnees:Categorie:label} != {var:string:padministration_cat}">
               {donnees:Categorie:label}
            </atm-if>   
            <!-- Pour chaque résultat, la variable recoit le libellé de la catégorie en cours -->
            <atm-setvar vartype="var" varname="padministration_cat" value="{donnees:Categorie:label}" />
            {donnees:Nom:label}
         </atm-result>
      </atm-search>
   </block>
</row> 


Haut
 Profil  
 
MessagePublié: Lun Déc 20, 2010 4:10 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Jeu Juin 16, 2005 8:05 am
Message(s) : 628
Localisation : Toulouse, France
celesta a écrit:
Je dois vraiment être plus mauvais que la moyenne, mais je n'arrive pas a juste tester chaque résultat.


C'est normal ça demande un peu de pratique, t'étais pas loin, le seul truc c'est qu'il te faut utiliser la syntaxe Automne pour les variables (tu as ça dans l'aide intégrée sur les variables dans Automne)

_________________
Frank
http://www.automne-cms.org


Haut
 Profil  
 
MessagePublié: Lun Déc 20, 2010 4:32 pm 
Hors-ligne

Inscrit(e) le : Mar Nov 02, 2010 4:39 pm
Message(s) : 22
Ca fonctionne!

J'ai pourtant bien cherché, j'ai relue la doc pdf, mais je n'ai rien vu concernant la syntaxe de type {var:string:padministration_cat}.

En tout cas merci de votre aide et réactivité.


Haut
 Profil  
 
MessagePublié: Lun Déc 20, 2010 6:38 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Jeu Juin 16, 2005 8:05 am
Message(s) : 628
Localisation : Toulouse, France
C'est sur la page de référence de la syntaxe XML pour les rangées polymod :
http://doc.automne.ws/web/Documentation ... #variables

_________________
Frank
http://www.automne-cms.org


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 9 messages ] 

Le fuseau horaire est UTC [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 58 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit par Maël Soucaze et Elglobo © phpBB.fr