Syntaxe de boucle derniers articles

Bonjour, j'ai un problème avec la syntaxe d'une boucle.
J'aimerais que la boucle aille chercher dans chaque sous rubrique de la rubrique en cours, tous le dernier article de chaque, datant de 2005 et le tout classé par date.

Le mieux que j'ai réussi c'est de retourner le premier article de chaque, mais peu importe l'année et quand au tri n'en parlons pas !

<p><strong>Derni&egrave;res publications dans la rubrique</strong></p>
<BOUCLE_dernier1(RUBRIQUES){id_rubrique}>
<BOUCLE_dernier2(RUBRIQUES){id_parent}>
<BOUCLE_dernier3(RUBRIQUES){id_rubrique}>
<BOUCLE_dernier4(ARTICLES){id_rubrique}{par date}{0,1}{annee_relatif}{inverse}>
[<strong>(#DATE|affdate_court) :</strong>] [<a href="#URL_ARTICLE" title="#TITRE">(#TITRE)</a><br />]
</BOUCLE_dernier4>
</BOUCLE_dernier3>
</BOUCLE_dernier2>
</BOUCLE_dernier1>

Des experts en boucle ?

On Mon, 2006-06-26 at 14:38 +0200, Josh Parker wrote:

Bonjour, j'ai un problème avec la syntaxe d'une boucle.
J'aimerais que la boucle aille chercher dans chaque sous rubrique de la
rubrique en cours, tous le dernier article de chaque, datant de 2005 et
le tout classé par date.

Le mieux que j'ai réussi c'est de retourner le premier article de
chaque, mais peu importe l'année et quand au tri n'en parlons pas !

- pour moi la boucle dernier3 ne sert à rien
- pour annee 2005, je suppose qu'un {annee=2005} suffit
- pour le tri, je pense qu'il faut d'abord parcourir ces boucles "pour
  rien" avec un critère doublons, puis faire une boucle itérant sur les
  articles remontés par ce critère doublons avec un {par date}

  Sur le dernier point, je n'ai plus la syntaxe en tête, mais il me
semble que ça existe

--
À+, Pif.

spip-bounces@rezo.net wrote:

Bonjour, j'ai un problème avec la syntaxe d'une boucle.
J'aimerais que la boucle aille chercher dans chaque sous
rubrique de la rubrique en cours, tous le dernier article de
chaque, datant de 2005 et le tout classé par date.

Des experts en boucle ?

<BOUCLE_sous_rubriques (RUBRIQUES) {id_parent}>
<BOUCLE_remplir_doublon (ARTICLES) {id_rubrique} {!par date} {0,1} {doublons
garder}>
</BOUCLE_remplir_doublon>
</BOUCLE_sous_rubriques>

<BOUCLE_afficher_articles (ARTICLES) {!par date} {!doublons garder}>
</BOUCLE_afficher_articles>

Olivier GENDRIN a présenté l'énoncé suivant :

spip-bounces@rezo.net wrote:

Bonjour, j'ai un problème avec la syntaxe d'une boucle.
J'aimerais que la boucle aille chercher dans chaque sous
rubrique de la rubrique en cours, tous le dernier article de
chaque, datant de 2005 et le tout classé par date.

Des experts en boucle ?

<BOUCLE_sous_rubriques (RUBRIQUES) {id_parent}>
<BOUCLE_remplir_doublon (ARTICLES) {id_rubrique} {!par date} {0,1} {doublons
garder}>
</BOUCLE_remplir_doublon>
</BOUCLE_sous_rubriques>

<BOUCLE_afficher_articles (ARTICLES) {!par date} {!doublons garder}>
</BOUCLE_afficher_articles>

C'est pile ce que je voulais, merci !

<BOUCLE_sous_rubriques(RUBRIQUES){id_parent}>
<BOUCLE_remplir_doublon (ARTICLES){id_rubrique}{!par date}{0,1}{doublons garder}>
</BOUCLE_remplir_doublon>
</BOUCLE_sous_rubriques>
<BOUCLE_afficher_articles (ARTICLES) {!par date} {!doublons garder}{annee > 2004}>
[<strong>(#DATE|affdate_court) :</strong>] [<a href="#URL_ARTICLE" title="#TITRE" class="non_souligne">(#TITRE)</a><br />]
</BOUCLE_afficher_articles>

Josh Parker <mail.ronan <at> free.fr> writes:

C'est pile ce que je voulais, merci !

<BOUCLE_sous_rubriques(RUBRIQUES){id_parent}>
<BOUCLE_remplir_doublon (ARTICLES){id_rubrique}{!par
date}{0,1}{doublons garder}>
</BOUCLE_remplir_doublon>
</BOUCLE_sous_rubriques>
<BOUCLE_afficher_articles (ARTICLES) {!par date} {!doublons
garder}{annee > 2004}>
[<strong>(#DATE|affdate_court) :</strong>] [<a href="#URL_ARTICLE"
title="#TITRE" class="non_souligne">(#TITRE)</a><br />]
</BOUCLE_afficher_articles>

Ca me sert de base mais moi je voudrais pas exactement ca
Je veux afficher certains articles qui sont dans des sous-rubrique dont je ne
maitrise que le parent -> je veux afficher tout ce qui appartient à la rubrique
actualité, sachant qu'elle ne contient aucun article mais des sous-rubriques
qui elles contiennent les articles
J'ai commencé avec ton code et j'ai modifé -> je ne veux afficher que les
articles qui sont dans la rubrique dont le parent est 40, donc je mets tout ce
qui a un parent différent de 40 dans doublon
(enfin c'est ce que j'avais compris de vos explciations)
Or ca ne fonctionne pas car après quand il me sort les articles, ce sont bien
les 7 plus récents mais il y en a qui viennent d'une autre rubrique... >_<
Je comprends pas car j'afficher les titres des rubriques pour contrôle (ligne
2) et a priori il y a bien tout le site sauf les enfants de la rubriques
actualité...

<BOUCLE_rubriques(RUBRIQUES){id_parent!=40}{par id_parent}>
-> <a href=#URL_RUBRIQUE>#TITRE </a><br/>
  <BOUCLE_remplir_doublon (ARTICLES){par date}{inverse}{doublons garder}>

  </BOUCLE_remplir_doublon>
</BOUCLE_rubriques>

<BOUCLE_afficher_articles (ARTICLES){par date}{inverse}{0,7}{!doublons garder}>
  [(#TITRE|supprimer_numero)</div>]
  [<a href="#URL_ARTICLE" title="(#TITRE(#CHAPO|couper{300})</div></a>]
</BOUCLE_afficher_articles>

spip-bounces@rezo.net wrote:

Ca me sert de base mais moi je voudrais pas exactement ca Je
veux afficher certains articles qui sont dans des
sous-rubrique dont je ne maitrise que le parent -> je veux
afficher tout ce qui appartient à la rubrique actualité,
sachant qu'elle ne contient aucun article mais des
sous-rubriques qui elles contiennent les articles J'ai
commencé avec ton code et j'ai modifé -> je ne veux afficher
que les articles qui sont dans la rubrique dont le parent est
40, donc je mets tout ce qui a un parent différent de 40 dans
doublon (enfin c'est ce que j'avais compris de vos
explciations) Or ca ne fonctionne pas car après quand il me
sort les articles, ce sont bien les 7 plus récents mais il y
en a qui viennent d'une autre rubrique... >_< Je comprends
pas car j'afficher les titres des rubriques pour contrôle (ligne
2) et a priori il y a bien tout le site sauf les enfants de
la rubriques actualité...

Tu t'es perdue dans la double négation. Remplace {id_parent!=40}{par
id_parent} par {id_parent = 40}.

<BOUCLE_rubriques(RUBRIQUES){id_parent!=40}{par id_parent}>
-> <a href=#URL_RUBRIQUE>#TITRE </a><br/>
  <BOUCLE_remplir_doublon (ARTICLES){par
date}{inverse}{doublons garder}>
  </BOUCLE_remplir_doublon>
</BOUCLE_rubriques>

<BOUCLE_afficher_articles (ARTICLES){par
date}{inverse}{0,7}{!doublons garder}>
  [(#TITRE|supprimer_numero)</div>]
  [<a href="#URL_ARTICLE"
title="(#TITRE(#CHAPO|couper{300})</div></a>]
</BOUCLE_afficher_articles>

Olivier GENDRIN <o.gendrin <at> novactive.com> writes:

Tu t'es perdue dans la double négation. Remplace {id_parent!=40}{par
id_parent} par {id_parent = 40}.

> <BOUCLE_rubriques(RUBRIQUES){id_parent!=40}{par id_parent}>
> -> <a href=#URL_RUBRIQUE>#TITRE </a><br/>
> <BOUCLE_remplir_doublon (ARTICLES){par date}{inverse}{doublons garder}>
> </BOUCLE_remplir_doublon>
> </BOUCLE_rubriques>
>
> <BOUCLE_afficher_articles (ARTICLES){par date}{inverse}{0,7}{!doublons

garder}>

> [(#TITRE|supprimer_numero)</div>]
> [<a href="#URL_ARTICLE" title="(#TITRE(#CHAPO|couper{300})</div></a>]
> </BOUCLE_afficher_articles>

Merci pour ton aide Olivier
Malheureusement mon problème persiste: quand j'affiche les rubriques j'ai bien
les enfants de actualité, mais quand je demande en dessous les articles il m'en
affiche qui appartiennent à la rubrique 31 (qui est rattachée à la racine)
Ce sont des articles récents effectivement, mais ils n'appartiennent pas à
cette rubrique donc je ne comprends pas ce qu'ils viennent faire là
j'ai encore loupé quelque chose?

spip-bounces@rezo.net wrote:

Olivier GENDRIN <o.gendrin <at> novactive.com> writes:

Tu t'es perdue dans la double négation. Remplace {id_parent!=40}{par
id_parent} par {id_parent = 40}.

<BOUCLE_rubriques(RUBRIQUES){id_parent!=40}{par id_parent}>
  <BOUCLE_remplir_doublon (ARTICLES){par

date}{inverse}{doublons garder}>

  </BOUCLE_remplir_doublon>
</BOUCLE_rubriques>

<BOUCLE_afficher_articles (ARTICLES){par
date}{inverse}{0,7}{!doublons

garder}>

</BOUCLE_afficher_articles>

Merci pour ton aide Olivier
Malheureusement mon problème persiste: quand j'affiche les
rubriques j'ai bien les enfants de actualité, mais quand je
demande en dessous les articles il m'en affiche qui
appartiennent à la rubrique 31 (qui est rattachée à la
racine) Ce sont des articles récents effectivement, mais ils
n'appartiennent pas à cette rubrique donc je ne comprends pas
ce qu'ils viennent faire là j'ai encore loupé quelque chose?

Tu as un {doublons garder} ailleurs dans ton squelette ?

Olivier GENDRIN <o.gendrin <at> novactive.com> writes:

spip-bounces <at> rezo.net wrote:
> Olivier GENDRIN <o.gendrin <at> novactive.com> writes:
>>
>> Tu t'es perdue dans la double négation. Remplace {id_parent!=40}{par
>> id_parent} par {id_parent = 40}.
>>
>>> <BOUCLE_rubriques(RUBRIQUES){id_parent!=40}{par id_parent}>
>>> <BOUCLE_remplir_doublon (ARTICLES){par
> date}{inverse}{doublons garder}>
>>> </BOUCLE_remplir_doublon>
>>> </BOUCLE_rubriques>
>>>
>>> <BOUCLE_afficher_articles (ARTICLES){par
>>> date}{inverse}{0,7}{!doublons
> garder}>
>>> </BOUCLE_afficher_articles>
>>
> Merci pour ton aide Olivier
> Malheureusement mon problème persiste: quand j'affiche les
> rubriques j'ai bien les enfants de actualité, mais quand je
> demande en dessous les articles il m'en affiche qui
> appartiennent à la rubrique 31 (qui est rattachée à la
> racine) Ce sont des articles récents effectivement, mais ils
> n'appartiennent pas à cette rubrique donc je ne comprends pas
> ce qu'ils viennent faire là j'ai encore loupé quelque chose?

Tu as un {doublons garder} ailleurs dans ton squelette ?

Non, à moins que je craque, ce qui est possible aussi :wink:
J'en ai dans d'autres pages en revanche (mais elles sont distinctes normalement)
En fait j'ai le même problème partout -> dans les rubriques, je veux afficher
les 7 articles les plus récents de la rubrique courante dans outil (sur le
côté) et il m'affiche les mêmes articles que sur la page d'accueil, sans tenir
compte que je suis dans une boucle rubrique qui a un id particulier
Pourquoi?

<font class='titre_news'>L'actualité dans cette rubrique</font>
  <BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
    #TITRE<br/> <!-- pour vérifier que la bonne rubrique est bien
récupérée, c'est le cas -->
  <BOUCLE_articles(ARTICLES){par date}{inverse}{0,7}>
    <table class='news' cellspacing='0' cellpadding='0'>
    <tr>
    <td valign='middle' class='news'><font class='titre_news'>
    [<a href=#URL_ARTICLE>(#TITRE|supprimer_numero)</a>]</font>
    </td>
    </tr>
    </table>
    <div align='center'><hr class='trait' width='90%' /></div>
  </BOUCLE_articles>
</BOUCLE_rubrique>

Je vais quand même pas mettre dans article une condition style
id_rubrique=id_rubrique quand même?

spip-bounces@rezo.net wrote:

Je vais quand même pas mettre dans article une condition
style id_rubrique=id_rubrique quand même?

Il faudrait peut-être commencer par envisager de mettre une condition
{id_rubrique} non ?

Olivier GENDRIN <o.gendrin <at> novactive.com> writes:

spip-bounces <at> rezo.net wrote:
> Je vais quand même pas mettre dans article une condition
> style id_rubrique=id_rubrique quand même?

Il faudrait peut-être commencer par envisager de mettre une condition
{id_rubrique} non ?

....
T_T
Au début je pensais que vu que la condition était dans rubrique c'était bon
Quand j'ai voulu tester j'ai rajouté id_rubrique dans article et là je n'avais
plus d'articles donc je me suis dit ok c'était pas ça
Sauf qu'en fait j'étais dans la seule rubrique vide... >_<
Merci beaucoup pour cette solution

Mais bon ca ne peut pas régler le problème de la page d'actualité puisque elle,
c'est l'histoire des sous rubrique le problème
Une autre idée que le double doublon?

Merci beaucoup de ton aide qui me fait conserver les cheveux sur la tête au
lieu de me les arracher :wink:

spip-bounces@rezo.net wrote:

Mais bon ca ne peut pas régler le problème de la page
d'actualité puisque elle, c'est l'histoire des sous rubrique
le problème Une autre idée que le double doublon?

Cherche du côté du critère {branche} peut-être.

Olivier GENDRIN <o.gendrin <at> novactive.com> writes:

<BOUCLE_sous_rubriques (RUBRIQUES) {id_parent}>
<BOUCLE_remplir_doublon (ARTICLES) {id_rubrique} {!par date} {0,1} {doublons
garder}>
</BOUCLE_remplir_doublon>
</BOUCLE_sous_rubriques>

<BOUCLE_afficher_articles (ARTICLES) {!par date} {!doublons garder}>
</BOUCLE_afficher_articles>

Beuh pourquoi ton système (ci-dessus) marcherait pas pour moi alors qu'il
marche pour Josh?
branche j'ai essayé avant de venir ici et j'ai pas pu m'en dépêtrer: c'était
loooooong et ça faisait pas ce que je voulais
Tu vas dire peut-être que je l'employais mal mais bon... -_-