L’article 601 propose un calendrier d’article du même genre, mais voici une boucle abordant un problème similaire d’une façon un peu différente.
Comment ça marche ?
1-
Commençons par lister tous les articles qui nous intéressent :
Une boucle toute simple, qui liste tous les articles du site, triés par date. On pourrait ajouter n’importe quel critère :
- pour limiter la boucle à une rubrique {id_rubrique=XX},
- pour se limiter à des articles d’un certain age {age>XX}
- etc ...
2-
La prochaine étape est la plus complexe : faire l’affichage par mois.
On affiche avant tout le premier article trouvé grâce à la boucle premierdumois. Comme son nom l’indique, cet article est le premier du mois. On affiche donc le nom du mois, puis le titre de l’article et sa date.
Notez le critère {doublons}. Celui ci va nous permettre d’éliminer l’article déjà affiché des prochaines boucles.
La deuxième boucle MOIS va nous permettre d’afficher tous les autres articles du mois. En effet, le critère {mois_relatif=0} sélectionne tous les articles du même mois que l’article en cours [1]. Grâce au critère {doublons} présent ici encore, on évite d’afficher le 1er article du mois qui a déjà été affiché.
Une fois tous les articles du mois affichés, on arrive au bout de la boucle principale. Celle ci va donc passer au prochain article et donc au prochain mois. Et ainsi de suite.



Vos commentaires
# Le 3 mars 2006 à 23:46, par DumbaDonf
En réponse à : Une liste d’article trié par mois
J’ai mis en place cette contrib qui es ttres bien.
Mais pour une histoire de clartée et de lisibilité, je cherche à « plier » tous les Mois. Lorsque l’utilisateur clique sur un mois, cela le « dépli » et affiche les articles contenus à l’intérieur.
Estèce que quelqu’un saurait m’aider ?
Il me semble qu’il faut utiliser du javascript...
# Le 3 mars 2006 à 23:57, par mortimer
En réponse à : Une liste d’article trié par mois
regarde cette contrib, elle devrait te guider un peu je pense :
Usage du filtre “unique” pour classer des articles
Répondre à ce message
# Le 6 octobre 2005 à 10:54, par Balluche
En réponse à : Une liste d’article trié par mois
On peut simplifier par : {mois_relatif}
Par ailleurs pourquoi ne pas gérer « mois_relatif » comme un critère global, c à d, pouvant être associé à la date du jour #DATE même sans article courant (cas de la page d’accueil) ?
# Le 31 octobre 2005 à 10:37, par Marc
En réponse à : Une liste d’article trié par mois
Par quelle magie le id_article va t’il faire que la boucle premierdumois n’affiche qu’un seul article ? Ne manque-il pas un critère 0,1 ?
# Le 31 octobre 2005 à 10:47, par mortimer
En réponse à : Une liste d’article trié par mois
il n’y a qu’un article avec cet id, donc il n’y aura qu’un article selectionné.
# Le 31 octobre 2005 à 12:01, par Marc
En réponse à : Une liste d’article trié par mois
Pardon, je me suis mal exprimé et merci de ta patience. Le question est plutôt pourquoi la boucle premierdumois n’est-elle pas invoquée N fois avec un id_article à chaque fois différent ?
# Le 31 octobre 2005 à 12:19, par mortimer
En réponse à : Une liste d’article trié par mois
ça va donner quelque chose comme cela :
La boucle _premierdumois affichera donc plusieurs articles, tous les premiers article du mois en fait. Le critère doublons empéchant d’afficher un article que l’on a déjà affiché avant.
# Le 31 octobre 2005 à 12:39, par Marc
En réponse à : Une liste d’article trié par mois
Oui effectivement mais n’aurais tu pas le même effet sans la boucle_article et avec le critère 0,1 dans la premiere ?
# Le 31 octobre 2005 à 12:59, par Mortimer
En réponse à : Une liste d’article trié par mois
non :
Remarque que je ne dis pas que c’est la meilleure méthode (ce ne l’est pas du tout) et c’est pas très optimale en fait. Il y a d’autre solution, comme Calendrier des articles ou le filtre unique, ou même le nouveau critère agenda probablement.
# Le 31 octobre 2005 à 13:13, par Marc
En réponse à : Une liste d’article trié par mois
Tu as raison, c’est une belle boucle !
Merci
Répondre à ce message
# Le 10 juin 2005 à 02:32, par Jérôme C
En réponse à : > Une liste d’article trié par mois
Comment faire pour exclure les 10 premiers articles ???
# Le 10 juin 2005 à 11:20, par mortimer
En réponse à : > Une liste d’article trié par mois
je pense que la contrib Usage du filtre “unique” pour classer des articles sera plus efficace pour faire cela.
Répondre à ce message
# Le 9 juin 2005 à 21:17, par Jérôme C
En réponse à : > Une liste d’article trié par mois
Si vous voulez grouper les articles qui sont publiés le même jour, voici un exemple :
<BOUCLE_article(ARTICLES){id_rubrique=1}{doublons jour}{par date}{inverse}>
<BOUCLE_premiermois_article(ARTICLES){id_article}{doublons}>
[(#DATE|nom_mois)]</span> [(#DATE|annee)]<br>
[(#DATE|jour)]<br>
#TITRE<br>
<BOUCLE_premierjour_articles(ARTICLES){jour_relatif=0}{doublons}{par date}{inverse}>
#TITRE<br>
</BOUCLE_premierjour_articles>
</BOUCLE_premiermois_article>
<BOUCLE_autres_articles(ARTICLES){doublons}{mois_relatif=0}{par date}{inverse}>
<B_jour_articles>
[(#DATE|jour)]<br>
<BOUCLE_jour_articles(ARTICLES){jour_relatif=0}{id_rubrique=1}{doublons jour}>
#TITRE<br>
</BOUCLE_jour_articles>
</BOUCLE_autres_articles>
</BOUCLE_article>
Bon je sait pas si mon code est trop assaini mais dites-moi si ça marche !
Maintenant je tente de voir si c’est possible de trier par mois le plus récent en premier mais en commençant par le premier article du mois...
Répondre à ce message
# Le 3 juin 2005 à 11:23, par mortimer
En réponse à : > Une liste d’article trié par mois
Voir aussi la nouvelle contrib : Usage du filtre “unique” pour classer des articles
Répondre à ce message
# Le 3 juin 2005 à 09:34, par gwec
En réponse à : > Un menu de toutes les dates auxquelles des articles ont été publiés et l’affichage par rubrique des dits articles
1- Le menu (repris de cette contrib) qui liste toutes les dates de publication des articles : placé dans sommaire.html par exemple
<BOUCLE_dates(ARTICLES){par date}{inverse}><BOUCLE_premierdujour(ARTICLES){id_article}{doublons}>
<a href="date.php3?date=#DATE">[(#DATE|nom_jour)] [(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|annee)]</a>
<br>
</BOUCLE_premierdujour>
<BOUCLE_JOUR(ARTICLES){mois_relatif=0}{jour_relatif=0}
{doublons}{par date}{inverse}>
</BOUCLE_JOUR>
</BOUCLE_dates>
2- Un fichier date.html (associé à date.php3)
Affiche par rubrique les articles publiés à la date passée dans l’url
<BOUCLE_rub(RUBRIQUES){tout}><h1>[(#TITRE)]</h1><br>
<INCLURE(liste.php3){date=#ENV{date}}{id_rubrique}>
</BOUCLE_rub>
2bis - Un fichier liste.html (associé à liste.php3)
<BOUCLE_art_rub (ARTICLES){id_rubrique=#ENV{id_rubrique}}{mois_relatif=0}{jour_relatif=0}>
- #TITRE publié le [(#DATE|nom_jour)] [(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|affdate{'Y'})] [(#DATE|affdate{'H:i'})]<BR>
</BOUCLE_art_rub>
Répondre à ce message
# Le 15 mars 2005 à 00:04, par Pierre
En réponse à : > Une liste d’article trié par mois
Il me semble que les ul et li ne sont pas placés correctement.
Sinon la boucle est superbe, et très pratique.
J’en propose ci après une version avec une boucle supplémentaire qui me permet de limiter à 4 mois la liste des derniers articles.
Je n’ai pas trouvé d’autre moyen que de rajouter une boucle, mais si quelqu’un a mieux, je suis preneur !
Répondre à ce message