HELP pour une boucle de regroupement par date

Salut tout le monde,

j'ai déjà posté 2 fois moi aussi sans réponse

j'ai un problème de regroupement mélangé à un problème de filtrage et de tri
et je ne vois vraiment pas comment procéder. Ca fait plus d'une semaine que
je cherche sans succès

toute aide ou indication me sera vraiment précieuse, merci d'avance !

J'ai une rubrique qui s'appelle "Réunions du Bureau" qui s'organise comme ça
(voir le plan : http://central-immo.net/aacb/plan.php3?lang=fr) :

RÉUNIONS DU CONSEIL DES GOUVERNEURS
Paragraphe 3 de l'Article 6 des Statuts de l'ABCA

       RÉUNION 2006
      30 ème Réunion ordinaire de l'Association

       RÉUNION 2005
      29 ème Réunion Ordinaire de l'Association

       RÉUNIONS 2004

             RÉUNION EXTRAORDINAIRE DU CONSEIL DES GOUVERNEURS
            Réunion extraordinaire de l'ABCA à Entebbe en 2004

             28ÈME RÉUNION ORDINAIRE DU CONSEIL DES GOUVERNEURS
            Réunion ordinaire de l'ABCA à Yaoundé 2004

RÉUNIONS DU BUREAU
Paragraphe 6 de l'Article 5 des Statuts de l'ABCA

       RÉUNIONS 2004
      Réunion du Bureau - Février 2004

       RÉUNION 2005
      Réunion du Bureau - avril 2005

       RÉUNION 2006
      Réunion du Bureau Mars 2006

RÉUNIONS DES COMITÉS SOUS-RÉGIONAUX
Article 6, Paragraphe 3 des Statuts

SYMPOSIUMS DE L'ABCA

       SYMPOSIUMS DE 2004

             TRIPOLI 2004 SYMPOSIUM EXTRAORDINAIRE
            Symposium extraordinaire tenu à Tripoli en Libye, 29 mars 2004
            Communications - Tripoli

             YAOUNDÉ 2004 SYMPOSIUM
            Symposium - tenu à Yaoundé au Cameroun, 29 Juillet 2004
            Communications - Yaoundé

LISTE DES DIFFFÉRENTES RÉUNIONS DE L'ABCA
Liste des différentes réunions de l'Association

et l'on souhaite la présenter en regroupant les articles par années :
2006
    - article
    - article
    - ...

2005
    - article
    - article
    - ...

2004
    - article
    - article
    - ...
etc...

c'est à dire, "un peu" comme ça :
http://central-immo.net/aacb/archives_bureau.php3?lang=fr#
-> il y a un problème de tri (le premier article de chaque année n'est pas
correctement trié par rapport aux autres)
- >et un problème de filtrage (tous les articles du site apparaissent, on ne
veut que ceux de la rubrique 211 pour le français ou 37 pour l'anglais)

Voici les boucles telles qu'elles sont pour le moment
http://central-immo.net/aacb/skel/archives_bureau.html :

<BOUCLE_racine(RUBRIQUES){racine}{lang}>

<BOUCLE_bureau(RUBRIQUES){id_parent IN 211,37}{lang}{par num titre}>
<BOUCLE_rubriques(RUBRIQUES){id_parent}{par date}{inverse}{lang}>
<BOUCLE_articlem(ARTICLES){id_rubrique}{par date}{inverse}>
  <BOUCLE_first(ARTICLES){lang}{id_article}{doublons}{par date}{inverse}>
  <br /><ul><b> [(#DATE|annee)] </b>
     <li><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a> -
[(#DATE|jour)]/[(#DATE|mois)]/[(#DATE|annee)]</li>
  </BOUCLE_first>
  <BOUCLE_MOIS(ARTICLES){lang}{annee_relatif=0}{doublons}{par date}{inverse}
>
     <li><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a> -
[(#DATE|jour)]/[(#DATE|mois)]/[(#DATE|annee)]</li>
  </BOUCLE_MOIS>
</ul>
</BOUCLE_articlem>
      <BOUCLE_child(BOUCLE_rubriques)></BOUCLE_child>
</BOUCLE_rubriques>
</BOUCLE_bureau>

</BOUCLE_racine>

- La boucle "racine" permet de choisir le bon secteur en fonction de la
langue demandée (elle peut paraître inutile, en fait elle sert pour la
boucle hiérarchie qui permet de choisir la langue.)
- La boucle "bureau" doit permettre de filtrer sur la bonne rubrique de
départ (211 ou 37 selon la langue)
- La boucle "articlem" est tirée de http://www.spip.net/fr_article1971.html
elle doit permettre de regrouper par dates.

- Juste après la fin de cette boucle j'appelle la boucle "rubrique" en
récursif pour pouvoir parcourir toutes les sous-rubriques contenues dans la
rubrique de départ (bureau). C'est un essai que j'ai fait, mais en fait
cette boucle est inutile, qu'elle soit là ou pas, le résultat est le même...

merci d'avance
Aly Pouly

Le 24/11/06, news.gmane.org a écrit :

Salut tout le monde,

====

et l'on souhaite la présenter en regroupant les articles par années :
2006
    - article
    - ...

2005
    - article
    - ...

2004
    - article
    - ...
etc...

J'ai ce code sous la main: Classement croissant par année, mois, jour
Si ça peut t'aider:

<BOUCLE_plus_vieux (ARTICLES) {par date} {0,1} {doublons}>
        <h6>Année [(#DATE|annee)]</h6>
        Mois de [(#DATE|nom_mois)]<br>
        - [(#DATE|affdate)] <a
href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a><br>

      <BOUCLE_meme_mois (ARTICLES) {par date} {mois_relatif=0} {doublons}>
        - [(#DATE|affdate)] <a
href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a><br>
      </BOUCLE_meme_mois>

      <BOUCLE_suivant_meme_annee (ARTICLES) {par date} {annee_relatif=0}
{doublons} {0,1}>
        <br>Mois de [(#DATE|nom_mois)]<br>
        - [(#DATE|affdate)] <a
href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a><br>

      <BOUCLE_meme_mois_suivant_meme_annee (boucle_meme_mois)>
      </BOUCLE_meme_mois_suivant_meme_annee>
  
      <BOUCLE_recursive_mois (boucle_suivant_meme_annee)>
      </BOUCLE_recursive_mois>

      </BOUCLE_suivant_meme_annee>
      <B_recursive_annee>
      <BOUCLE_recursive_annee (boucle_plus_vieux)>
      </BOUCLE_recursive_annee>
    </BOUCLE_plus_vieux>

--
@plus

Jacques

Marre de "*quoter comme un goret*" avec OE : (Rappel: quoter n'est

pas coder) http://www.aminautes.org/forums/configurer/oe/QF_doc.html

Où placer sa réponse ?
[Mini-FAQ] Repondre par courrier ou dans les news ?

news.gmane.org a écrit :

Salut tout le monde,

j'ai déjà posté 2 fois moi aussi sans réponse

j'ai un problème de regroupement mélangé à un problème de filtrage et de tri et je ne vois vraiment pas comment procéder. Ca fait plus d'une semaine que je cherche sans succès

peut etre en utilisant le filtre "unique" ou un equivalent à ta sauce...

<BOUCLE_X(ARTICLE){!par date}>
[ANNEE (#DATE|annee|unique)]
#TITRE
</BOUCLE_X>

C'est sans doute un peu plus compliqué, mais l'idée est la...

@++

Jacques,

Merci ! Ca m'aide déjà beaucoup : on obtient effectivement le bon classement
regroupé sur les années, puis les mois. C'est exactement ce que je cherche
pour le regroupement par dates. Par rapport au code que tu m'as donné j'ai
seulement ajouté des {inverse} pour mettre le plus récent au début. Jusque
là c'est parfait.

Maintenant je regarde pour filtrer les résultats sur les articles contenus
dans l'arborescence de la rubrique "Réunion de l'ABCA" de la langue choisie
(=du secteur français ou anglais).

Ce que j'ai essayé - sans grand succès - c'est d'englober les boucles dans
une grande boucle que j'appelle "BOUCLE_bureau" où je met comme critères
{id_parent IN 211,37}{lang} : la combinaison de ces deux critères donne la
bonne rubrique de base que l'on veut utiliser pour filtrer les articles (on
peut dire qu'elle est la rubrique "parent") :

<BOUCLE_bureau(RUBRIQUES){id_parent IN 211,37}{lang}{par num titre}>

<BOUCLE_plus_vieux(ARTICLES){par
date}{inverse}{0,1}{doublons}{id_rubrique}>
<h6>Année [(#DATE|annee)]</h6>
Mois de [(#DATE|nom_mois)]<br>
- <a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a>
[(#DATE|jour)]/[(#DATE|mois)]/[(#DATE|annee)]<br>

     <BOUCLE_meme_mois(ARTICLES){par
date}{inverse}{mois_relatif=0}{doublons}>
     - <a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a>
[(#DATE|jour)]/[(#DATE|mois)]/[(#DATE|annee)]<br>
     </BOUCLE_meme_mois>

   <BOUCLE_suivant_meme_annee(ARTICLES){par date}{inverse}{annee_relatif=0}
   {doublons} {0,1}>
   <br>Mois de [(#DATE|nom_mois)]<br>
   - <a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a>
[(#DATE|jour)]/[(#DATE|mois)]/[(#DATE|annee)]<br>

     <BOUCLE_meme_mois_suivant_meme_annee
(boucle_meme_mois)></BOUCLE_meme_mois_suivant_meme_annee>
   <BOUCLE_recursive_mois
(boucle_suivant_meme_annee)></BOUCLE_recursive_mois></BOUCLE_suivant_meme_annee>
<B_recursive_annee><BOUCLE_recursive_annee
(boucle_plus_vieux)></BOUCLE_recursive_annee>
</BOUCLE_plus_vieux>

</BOUCLE_bureau>

Quand je le fais je me retrouve bizarrement avec uniquement des articles de
2004, alors que si l'on regarde la rubrique "Réunion de l'ABCA" dans le plan
du site on voit bien qu'elle contient des articles de 2006.
Par ailleurs on trouve des articles qui proviennent d'autres parties du site
que la seule rubrique parente "Réunion de l'ABCA" ...

L'impression que j'ai est que le filtrage par {id_rubrique} entre la
"grande" boucle BUREAU et la BOUCLE_plus_vieux se fait correctement, mais ne
passe pas à travers les autres boucles successives (BOUCLE_meme_mois,
suivant_meme_annee) et perturbe ensuite la récursion.
Cela expliquerait pourquoi j'ai d'autres articles qui viennent d'autres
parties du site et pas seulement de la rubrique parent "Réunion de l'ABCA".

Mais cela n'explique pas pourquoi seuls des articles de 2004 viennent
http://central-immo.net/aacb/archives_bureau.php3?lang=fr&recalcul=oui (on
devrait en avoir de 2003 jusqu'à 2006)

La nouvelle question est donc : comment faire pour filtrer ce regroupement
par date, qui fonctionne bien, sur une rubrique de base (la rubrique n°211
par exemple)

Merci d'avance pour votre aide...
Aly

----- Original Message -----
From: "Jacques J." <confluents@gmail.com>
Newsgroups: gmane.comp.web.spip.user
Sent: Friday, November 24, 2006 6:14 PM
Subject: Re: HELP pour une boucle de regroupement par date

Le 24/11/06, news.gmane.org a écrit :

Salut tout le monde,

====

et l'on souhaite la présenter en regroupant les articles par années :
2006
    - article
    - article
    - ...

2005
    - article
    - article
    - ...

2004
    - article
    - article
    - ...
etc...

J'ai ce code sous la main: Classement croissant par année, mois, jour
Si ça peut t'aider:

<BOUCLE_plus_vieux (ARTICLES) {par date} {0,1} {doublons}>
<h6>Année [(#DATE|annee)]</h6>
Mois de [(#DATE|nom_mois)]<br>
- [(#DATE|affdate)] <a
href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a><br>

<BOUCLE_meme_mois (ARTICLES) {par date} {mois_relatif=0} {doublons}>
- [(#DATE|affdate)] <a
href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a><br>
</BOUCLE_meme_mois>

<BOUCLE_suivant_meme_annee (ARTICLES) {par date} {annee_relatif=0}
{doublons} {0,1}>
<br>Mois de [(#DATE|nom_mois)]<br>
- [(#DATE|affdate)] <a
href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a><br>

<BOUCLE_meme_mois_suivant_meme_annee (boucle_meme_mois)>
</BOUCLE_meme_mois_suivant_meme_annee>

<BOUCLE_recursive_mois (boucle_suivant_meme_annee)>
</BOUCLE_recursive_mois>

</BOUCLE_suivant_meme_annee>
<B_recursive_annee>
<BOUCLE_recursive_annee (boucle_plus_vieux)>
</BOUCLE_recursive_annee>
</BOUCLE_plus_vieux>

--
@plus

Jacques

Marre de "*quoter comme un goret*" avec OE : (Rappel: quoter n'est

pas coder) http://www.aminautes.org/forums/configurer/oe/QF_doc.html

Où placer sa réponse ?
[Mini-FAQ] Repondre par courrier ou dans les news ?