Jean-Christophe Villeneuve a écrit :
dlatr a écrit :
Le 22 mai 09 à 21:40, Christophe Danaux a écrit :
GornetY a écrit :
Le Thu, 21 May 2009 22:30:38 +0200, Christophe Danaux <info@sentiers.be> a écrit:
Bonjour,
J’essaie de limiter le nombre d’articles à 5 dans une boucle articles elle même emboîtée dans une boucle événements du plugin Agenda 2.0. La boucle articles est triée grâce à un mot-clé. Jusque là, ça fonctionne. Mais quand je veux limiter le nombre d’affichages à 5 avec {0,5}, rien ne se passe et le nombre complet d’articles s’affiche...
Voici le code :
<BOUCLE_agenda1(EVENEMENTS){age<=0}{par date}{statut=publie}>
<BOUCLE_tri_articles1(ARTICLES){id_article}{id_mot=6}{doublons mots}{0,5}>
<div id="focus">
Bla...
</div>
</BOUCLE_tri_articles1>
</BOUCLE_agenda1>
Quelqu’un peut-il me dire où ça coince ?
Merci
c'est à dire que ta boucle article sort 5 articles
chaque fois que la boucle englobante trouve un évènement
comme tu as mis un filtre doublons sur la boucle article,
ce ne sont jamais les mêmes articles qui sont affichés
mais toute ta collection d'articles avec le mot-clé 6
ou plutôt et très exactement 5 fois le nombre d'événements trouvés par la boucle englobante
ok ?
Merci pour la réponse
Je crois avoir plus ou moins compris, mais alors, où dois-je placer le critère {0,5} pour qu'il soit opérant ? J'ai essayé sur la boucle Evénements, mais alors, il prend les 5 premiers articles sans tenir compte du mot-clé 6. Si le mot-clé était attribué à l'événement et non à l'article, ce serait plus facile, mais ça ne m'arrange pas... Dois-je réorganiser mes boucles autrement ? En inversant les boucles, ça ne va pas non plus.
En fait, pour être complet, l'idée est de proposer 5 focus (articles qui ont le mot-clé 6), mais de pouvoir ajouter plus d'articles avec ce même mot-clé, mais qui s'affichent plus bas avec ceux qui n'ont pas ce mot-clé. Quand un des 5 focus est passé de date, il serait automatiquement remplacé par un autre. Ce dernier se retirait alors de la liste normale.
Voir : http://www.iew-interactions.be
Pour l'instant, je ne peux utiliser que 5 articles avec le mot-clé si je veux que la page reste telle qu'elle est actuellement. Mais je n'ai pas envie d'aller voir tous les jours si il y a un trou. J'aime autant avoir donc des articles-événements en réserve avec le mot-clé...
est-ce que cette boucle irait mieux ? :
<BOUCLE_un(ARTICLES) {id_mot=6} {doublons un}></BOUCLE_un>
<BOUCLE_deux(ARTICLES) {doublons un} {doublons deux}> </BOUCLE_deux>
<BOUCLE_agenda1(EVENEMENTS) {doublons deux} {age<=0} {par date} {statut=publie} {0,5}>
<div id="focus">
<hr /> Bla...
</div>
</BOUCLE_agenda1>
Claude
_______________________________________________
ou çelle-là ?
mais les doublons peuvent-ils passer d'un boucle articles à une boucle évènements ?
<BOUCLE_un(ARTICLES) {id_mot=6} {doublons un}></BOUCLE_un>
<BOUCLE_agenda1(EVENEMENTS) {!doublons un} {age<=0} {par date} {statut=publie} {0,5}>
<div id="focus">
<hr /> Bla...
</div>
</BOUCLE_agenda1>
Mmmh... Marche pas. En fait je dois faire une boucle générale qui sélectionne tous les événements pour avoir un premier tri antichronologique et ensuite, une deuxième boucle qui sélectionne les 5 premiers articles ayant le mot-clé 6. Actuellement, tout fonctionne correctement sauf le choix des 5 premiers articles...
Pour mieux comprendre l'idée, voici le squelette complet :
<!-- Sommaire -->
#CACHE{3600}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" lang="#LANG" dir="#LANG_DIR">
<head>
<title>[(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#DESCRIPTIF_SITE_SPIP|couper{150}|textebrut)" />]
<INCLURE{fond=inc-head}>
</head>
<body>
<div id="page"><INCLURE{fond=entete}{lang}>
<div id="volet_gauche"><INCLURE{fond=volet_gauche}{lang}></div>
<div id="volet_droit"><INCLURE{fond=menu_haut}{lang}>
<div id="espacement_vertical"></div>
<!-- 5 Focus -->
<BOUCLE_agenda1(EVENEMENTS){age<=0}{par date}{statut=publie}>
<BOUCLE_tri_articles1(ARTICLES){id_article}{id_mot=6}{doublons}{0,5}>
<div id="focus">
<table width="250" cellspacing="0" cellpadding="0">
<tr>
<BOUCLE_rubriques1(RUBRIQUES) {id_rubrique}>
<td align="center" valign="middle" bgcolor="#[(#ID_RUBRIQUE|couleur_rubrique)]" height="20"><span class="titre_rubrique_focus">[(#TITRE|supprimer_numero)]</span></td>
</BOUCLE_rubriques1>
</tr>
<tr>
<td valign="top" height="200" style="background-color:<BOUCLE_couleur1(MOTS){id_rubrique}>#[(#TITRE)]</BOUCLE_couleur1>; border-bottom:1px solid #[(#ID_RUBRIQUE|couleur_rubrique)]; border-left:1px solid #[(#ID_RUBRIQUE|couleur_rubrique)]; border-right:1px solid #[(#ID_RUBRIQUE|couleur_rubrique)];">
<div class="date_lieu_focus">[<span class="lieu">(#LIEU|textebrut) - </span>][(#DATE_DEBUT|Agenda_affdate_debut_fin{#DATE_FIN,'non'})]</div>
<div class="titre_focus"><a href="#URL_ARTICLE">#TITRE</a></div>
<BOUCLE_logo1(ARTICLES) {id_article}>[<div class="logo_focus">(#LOGO_ARTICLE||reduire_image{100,120})</div>]</BOUCLE_logo1>
<BOUCLE_articles1(ARTICLES) {id_article}>[<div class="texte_focus">(#TEXTE*|couper{150})</div>]</BOUCLE_articles1>
</td>
</tr>
</table>
</div>
</BOUCLE_tri_articles1>
</BOUCLE_agenda1>
<!-- Pavé "Sur le site d'IEW" -->
<div id="focus">
<table width="250" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle" bgcolor="#8f916b" height="20"><span class="titre_rubrique_focus">A voir sur le site d'IEW</span></td>
</tr>
<tr>
<td valign="top" height="200" style="background-color:#dcddc9; border-bottom:1px solid #8f916b; border-left:1px solid #8f916b; border-right:1px solid #8f916b;">
<div style="padding:5px;"><BOUCLE_articles_sites_iew(SYNDIC_ARTICLES){id_syndic=5}{par date}{inverse}{0,6}><div class="site_iew">- <a href="#URL_ARTICLE">[(#TITRE*)]</a></div></BOUCLE_articles_sites_iew></div>
</td>
</tr>
</table>
</div>
<!-- Liste colonne gauche : la première moitié de tous les articles y compris les focus non repris dans les 5 premiers du haut -->
<div id="colonne_gauche">
<BOUCLE_agenda3(EVENEMENTS){age<0=}{age>=-90}{par date}{1/2}{statut=publie}>
<BOUCLE_tri_articles3(ARTICLES){id_article}{doublons}>
<table width="380px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="1" colspan="2" bgcolor="#[(#ID_RUBRIQUE|couleur_rubrique)]"></td>
</tr>
<tr>
<td width="10" bgcolor="#[(#ID_RUBRIQUE|couleur_rubrique)]"></td>
<td>
<BOUCLE_rubriques3(RUBRIQUES) {id_rubrique}><div id="titre_rubrique_liste"><font color="#[(#ID_RUBRIQUE|couleur_rubrique)]">[(#TITRE|supprimer_numero)]</font></div></BOUCLE_rubriques3>
<div class="date_lieu_liste">[<span class="lieu">(#LIEU|textebrut)</span>][ - (#DATE_DEBUT|Agenda_affdate_debut_fin{#DATE_FIN,'non'})]</div>
<div class="titre_liste"><a href="#URL_ARTICLE">#TITRE</a></div>
<BOUCLE_logo3(ARTICLES) {id_article}>[<div class="logo_focus">(#LOGO_ARTICLE||reduire_image{65,80})</div>]</BOUCLE_logo3>
<BOUCLE_articles3(ARTICLES) {id_article}>[<div class="texte_liste">(#TEXTE*|couper{200})</div>]</BOUCLE_articles3>
</td>
</tr>
<tr>
<td height="4" colspan="2" bgcolor="#FFFFFF"></td>
</tr>
</table>
</BOUCLE_tri_articles3>
</BOUCLE_agenda3>
</div>
<!-- Liste colonne droite : la deuxième moitié de tous les articles y compris les focus non repris dans les 5 premiers plus haut -->
<div id="colonne_droite">
<BOUCLE_agenda4(EVENEMENTS){age<=0}{age>=-90}{par date}{2/2}{statut=publie}>
<BOUCLE_tri_articles4(ARTICLES){id_article}{doublons}>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="1" colspan="2" bgcolor="#[(#ID_RUBRIQUE|couleur_rubrique)]"></td>
</tr>
<tr>
<td width="10" bgcolor="#[(#ID_RUBRIQUE|couleur_rubrique)]"></td>
<td>
<BOUCLE_rubriques4(RUBRIQUES) {id_rubrique}><div id="titre_rubrique_liste"><font color="#[(#ID_RUBRIQUE|couleur_rubrique)]">[(#TITRE|supprimer_numero)]</font></div></BOUCLE_rubriques4>
<div class="date_lieu_liste">[<span class="lieu">(#LIEU|textebrut)]</span>[ - (#DATE_DEBUT|Agenda_affdate_debut_fin{#DATE_FIN,'non'})]</div>
<div class="titre_liste"><a href="#URL_ARTICLE">#TITRE</a></div>
<BOUCLE_logo4(ARTICLES) {id_article}>[<div class="logo_focus">(#LOGO_ARTICLE||reduire_image{65,80})</div>]</BOUCLE_logo4>
<BOUCLE_articles4(ARTICLES) {id_article}>[<div class="texte_liste">(#TEXTE*|couper{200})]</div></BOUCLE_articles4>
</td>
</tr>
<tr>
<td height="4" colspan="2" bgcolor="#FFFFFF"></td>
</tr>
</table>
</BOUCLE_tri_articles4>
</BOUCLE_agenda4>
</div>
<div style="clear:both"></div>
<!-- Dans les mois à venir... -->
<div class="titre_secondaire"><font color="#5b8f22">Dans les prochains mois</font></div>
<div class="soulignetitre"></div>
<div class="texte_article" style="margin-bottom:25px;">
<BOUCLE_agenda5(EVENEMENTS){age<-90}{par date}{statut=publie}>
<BOUCLE_tri_articles5(ARTICLES){id_article}>
<div>
<span class="rubrique_liste_mois">- <BOUCLE_rubriques2(RUBRIQUES) {id_rubrique}><font color="#[(#ID_RUBRIQUE|couleur_rubrique)]">[(#TITRE|supprimer_numero)]</font></BOUCLE_rubriques2> - </span>
<span><a class="titre_liste_mois" href="#URL_ARTICLE">#TITRE</a></span>
<span class="date_lieu_liste_mois">[<span class="lieu_mois"> - (#LIEU|textebrut)</span>][ - (#DATE_DEBUT|Agenda_affdate_debut_fin{#DATE_FIN,'non'})][ (#DATE_DEBUT|affdate{'annee'})]</span>
</div>
</BOUCLE_tri_articles5>
</BOUCLE_agenda5>
</div>
</div>
<div style="clear:both;"></div>
</div>
<INCLURE{fond=inc-pied}>
</body>
</html>