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 
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 
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.
@++