présentation de documents par année

Bonjour à tous…
Nouvelle problématique pour moi : j’essaye de présenter une liste de documents en affichant l’année en tête d’un « bloc » année.
J’ai cherché du côté des boucles récursives croyant que c’était le fond du problème, mais sans succès.
La seule chose que j’arrive à faire c’est afficher toutes les années en tête de chaque ligne de document… pas vraiment le bon résultat.
Voici ce que je veux obtenir :

2007
document 1
document 2
document 3

2006
document 1
document 2
document 3

etc.

Je me demande si la solution n’est pas toute simple en fin de compte… mais j’avoue que ça ne me saute pas au nez.
Merci d’avance pour votre aide.

Valentin

Le mardi 12 juin 2007 15:00, Valentin GUENICHON a écrit :

Bonjour à tous...
Nouvelle problématique pour moi : j'essaye de présenter une liste de
documents en affichant l'année en tête d'un "bloc" année.
J'ai cherché du côté des boucles récursives croyant que c'était le
fond du problème, mais sans succès.

Dans le squelette alternatives il y a la page résumé qui fait a peu près ça,
tu peux t'en inspirer. Un exemple ici :
http://www.pouzy-mesangy.com/spip.php?page=resume

--
Cordialement, Daniel Cartron
« Les modes ne sont après tout que des épidémies provoquées. »
Bernard Shaw

Rhaaa !
C'est pourtant bien ça que j'utilise !
Voici ma boucle dans un squelette article :

<BOUCLE_revuepresse(DOCUMENTS) {id_article} {mode=document} {par date} {inverse} >
<h3>[(#DATE|annee|unique)]</h3>
<p>[(#DATE|affdate)] | #TITRE
<a href="#URL_DOCUMENT">#DESCRIPTIF</a>
</p>
</BOUCLE_revuepresse>

et le résultat est :
2007 2006 2005 2004
document 1
document 2
document 3
document 4

alors que je veux obtenir :
2007
document 1
document 2

2006
document 3
document 4

etc.

Le 12 juin 07 à 16:38, Daniel Cartron a écrit :

Le mardi 12 juin 2007 15:00, Valentin GUENICHON a écrit :

Bonjour à tous...
Nouvelle problématique pour moi : j'essaye de présenter une liste de
documents en affichant l'année en tête d'un "bloc" année.
J'ai cherché du côté des boucles récursives croyant que c'était le
fond du problème, mais sans succès.

Dans le squelette alternatives il y a la page résumé qui fait a peu près ça,
tu peux t'en inspirer. Un exemple ici :
http://www.pouzy-mesangy.com/spip.php?page=resume

--
Cordialement, Daniel Cartron
« Les modes ne sont après tout que des épidémies provoquées. »
Bernard Shaw

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Le mardi 12 juin 2007 16:53, Valentin GUENICHON a écrit :

Rhaaa !
C'est pourtant bien ça que j'utilise !

ben chez moi ça marche nickel pourtant, mais la boucle n'est pas pareille...
Tu es sur que tu utilises alternatives ?

--
Cordialement, Daniel Cartron
« Aux vrais amis, nous donnons toujours plus de joie que nous en contenons et
nous en recevons plus que nous ne pouvons en contenir. »
Robert Sabatier - Le livre de la déraison souriante

non non non... je n'utilise pas alternatives et je ne compte pas l'utiliser en fait.
donc j'imagine qu'il ya quelques menues choses à rajouter ?
pourtant il me semblait avoir vu ça en spip mais je ne retrouve rien chez spip-contrib

Le 12 juin 07 à 18:07, Daniel Cartron a écrit :

Le mardi 12 juin 2007 16:53, Valentin GUENICHON a écrit :

Rhaaa !
C'est pourtant bien ça que j'utilise !

ben chez moi ça marche nickel pourtant, mais la boucle n'est pas pareille...
Tu es sur que tu utilises alternatives ?

--
Cordialement, Daniel Cartron
« Aux vrais amis, nous donnons toujours plus de joie que nous en contenons et
nous en recevons plus que nous ne pouvons en contenir. »
Robert Sabatier - Le livre de la déraison souriante

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Le mardi 12 juin 2007 18:57, Valentin GUENICHON a écrit :

non non non... je n'utilise pas alternatives et je ne compte pas
l'utiliser en fait.

Je t'envoie la page resume.html en privé

--
Cordialement, Daniel Cartron
« La saison venue, la chenille tisse un cocon autour d'elle-même et elle
devient cacahuète. »
François Cavanna - Le saviez-vous ?

Valentin GUENICHON a écrit :

donc j'imagine qu'il ya quelques menues choses à rajouter ?
pourtant il me semblait avoir vu ça en spip mais je ne retrouve rien chez spip-contrib

Eric

Bon alors j'ai fini par trouver... c'est le critère {nouvelle} du filtre |unique qui me manquait.
Voici la boucle qui permet de regrouper les documents par année et d'afficher celle-ci en en-tête :

<BOUCLE_docs(DOCUMENTS) {par date} {inverse} {lang}>
<h3>[(#DATE|annee|unique{nouvelle})]</h3>
<p><a href="#URL_DOCUMENT">#TITRE</a></p>
</BOUCLE_docs>

Après, chacun y met sa sauce...

C'est tout bête en fait, mais je n'ai vu aucune doc (avec mes petits yeux) sur ce critère {nouvelle}
Est-ce que vous croyez qu'on peut en faire une contrib ?

Le 12 juin 07 à 19:31, Eric L a écrit :

Valentin GUENICHON a écrit :

donc j'imagine qu'il ya quelques menues choses à rajouter ?
pourtant il me semblait avoir vu ça en spip mais je ne retrouve rien chez spip-contrib

Les filtres de SPIP - SPIP

Eric

Correction de ma propre boucle pour que le h3 ne se répète pas à chaque document et ne provoque des espaces non voulus via les CSS.

<BOUCLE_docs(DOCUMENTS) {par date} {inverse} {lang}>
[<h3>(#DATE|annee|unique{nouvelle})</h3>]
<p><a href="#URL_DOCUMENT">#TITRE</a></p>
</BOUCLE_docs>

Le 13 juin 07 à 10:27, Valentin GUENICHON a écrit :

Bon alors j'ai fini par trouver... c'est le critère {nouvelle} du
filtre |unique qui me manquait.
Voici la boucle qui permet de regrouper les documents par année et
d'afficher celle-ci en en-tête :

<BOUCLE_docs(DOCUMENTS) {par date} {inverse} {lang}>
<h3>[(#DATE|annee|unique{nouvelle})]</h3>
<p><a href="#URL_DOCUMENT">#TITRE</a></p>
</BOUCLE_docs>

Après, chacun y met sa sauce...

C'est tout bête en fait, mais je n'ai vu aucune doc (avec mes petits
yeux) sur ce critère {nouvelle}
Est-ce que vous croyez qu'on peut en faire une contrib ?

Le 12 juin 07 à 19:31, Eric L a écrit :

Valentin GUENICHON a écrit :

donc j'imagine qu'il ya quelques menues choses à rajouter ?
pourtant il me semblait avoir vu ça en spip mais je ne retrouve
rien chez spip-contrib

Les filtres de SPIP - SPIP

Eric

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Valentin GUENICHON a écrit :

Bon alors j'ai fini par trouver... c'est le critère {nouvelle} du filtre |unique qui me manquait.

alors, quand on passe quelque chose à un filtre, on appelle ca un argument, les criteres, c'est pour les boucles.
Et ce que tu passes n'a pas grande importance, c'est juste un identifiant pour pouvoir grouper les uniques dans plusieurs boucles (tu aurais pu faire |unique{toto}).

voici l'explication dans le code :
Ce filtre retourne la donnee si c'est la premiere fois qu'il la voit ;
possibilite de gerer differentes "familles" de donnees |unique{famille}
|unique{famille,1} affiche le nombre d'elements affiches (preferer toutefois #TOTAL_UNIQUE)

Il y a donc egalement un 2eme argument (false par defaut) qui, à vrai, permet de renvoyer le compteur pour les accurences suivantes de la donnée

C'est tout bête en fait, mais je n'ai vu aucune doc (avec mes petits yeux) sur ce critère {nouvelle}

normal, c'est dans la doc du filtre unique : Les filtres de SPIP - SPIP

Est-ce que vous croyez qu'on peut en faire une contrib ?

non, mais peut etre 2 lignes de plus dans la doc, pour parler du 2eme argument, ca pourrait servir.

@++

Voilà ce que j'appelle une explication !
Merci...
Et oui, je cherchais le terme "argument"... merci de me le rappeler :wink:

Le 13 juin 07 à 11:39, spipcarto a écrit :

Valentin GUENICHON a écrit :

Bon alors j'ai fini par trouver... c'est le critère {nouvelle} du
filtre |unique qui me manquait.

alors, quand on passe quelque chose à un filtre, on appelle ca un
argument, les criteres, c'est pour les boucles.
Et ce que tu passes n'a pas grande importance, c'est juste un
identifiant pour pouvoir grouper les uniques dans plusieurs boucles (tu
aurais pu faire |unique{toto}).

voici l'explication dans le code :
Ce filtre retourne la donnee si c'est la premiere fois qu'il la voit ;
possibilite de gerer differentes "familles" de donnees |unique{famille}
|unique{famille,1} affiche le nombre d'elements affiches (preferer
toutefois #TOTAL_UNIQUE)

Il y a donc egalement un 2eme argument (false par defaut) qui, à vrai,
permet de renvoyer le compteur pour les accurences suivantes de la donnée

C'est tout bête en fait, mais je n'ai vu aucune doc (avec mes petits
yeux) sur ce critère {nouvelle}

normal, c'est dans la doc du filtre unique :
Les filtres de SPIP - SPIP

Est-ce que vous croyez qu'on peut en faire une contrib ?

non, mais peut etre 2 lignes de plus dans la doc, pour parler du 2eme
argument, ca pourrait servir.

@++

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Valentin GUENICHON a écrit :

Voilà ce que j'appelle une explication !
Merci...
Et oui, je cherchais le terme "argument"... merci de me le rappeler :wink:

C'etait juste pour dire que le vocabulaire est important pour chercher dans la doc.
Si tu cherches unique+critere, tu vas tomber sur le critere {unique} des boucles (qui doit etre un synonyme de doublons de memoire).

Avec filtre+unique, tu trouves.

ici argument, parametre ... ne t'aurais pas aidé, par contre critere a un sens particulier pour spip, et c'est sans doute pour ca que tu es passé à coté de la doc du filtre.

Et puis les criteres et les filtres, c'est vraiment 2 choses tres differentes.
Comme tu semblais penser que "famille" etait un genre de mot réservé, j'ai pensé que tu melangeais vraiment les 2 notions (le premier mot d'un critere sert au compilo à choisir la fonction à utiliser alors que pour un filtre, c'est le 2eme argument de la fonction)

Bref, désolé, ca pouvait paraitre un peu sec dans ma reponse, mais ca n'etait pas le but, c'etait pour t'aider à chercher.

@++