ordonner les résultats de 2 boucles

Bonjour à tous,

Je souhaite afficher tous les articles de la rub 9 (rubrique actu)
<BOUCLE_articles(ARTICLES) {id_rubrique=9} {!par date} {doublons}>
et ceux appartenant au groupe de mots clés actu
<BOUCLE_articles(ARTICLES) {tout}{type_mot=actu} {lang?} {!par date} {doublons}>

Mélanger les résultats et les ordonner par date de publication.

Merci pour votre aide précieuse.

Salut !

Le 5 avril 2013 10:18, NiScal NoPa <niscalnopa@gmail.com> a écrit :

Bonjour à tous,

Je souhaite afficher tous les articles de la rub 9 (rubrique actu)
<BOUCLE_articles(ARTICLES) {id_rubrique=9} {!par date} {doublons}>
et ceux appartenant au groupe de mots clés actu
<BOUCLE_articles(ARTICLES) {tout}{type_mot=actu} {lang?} {!par date}
{doublons}>

Mélanger les résultats et les ordonner par date de publication.
Merci pour votre aide précieuse.

La réponse était presque dans ta question :slight_smile:

Il faut utiliser le principe des "antidoublons" ce qui est très
pratique (voir:

et bien sûr la doc: {doublons} - SPIP)

Tu fais bien tes deux premières boucles, mais sans affichage:

<BOUCLE_articles_rub(ARTICLES) {id_rubrique=9} {doublons pour_recap} />
<BOUCLE_articles_mot(ARTICLES) {tout}{type_mot=actu} {lang?} {doublons
pour_recap} />

(ces boucles utilisent la "syntaxe raccourcie", cf:
La syntaxe des boucles - SPIP, dans laquelle le "/>" indique
qu'elles ne vont rien afficher)

Puis tu utilises l'antidoublon pour faire une boucle qui récupère les
articles sélectionnés:

<BOUCLE_recap(ARTICLES){!doublons pour_recap}{!par date}>
#TITRE
</BOUCLE_recap>

--
Beurt

Bonjour,

Tu gardes tes 2 premières boucles et tu rajoutes une troisième :

<BOUCLE_articles(ARTICLES){!par date}{!doublons}>

C’est le principe des anti-doublons expliqué ici : http://contrib.spip.net/Le-critere-doublons-sa-mecanique-et-son-utilisation

@+

Benjamin Tricault

Merci beaucoup, servi sur un plateau d’argent !

J’ai bien les résultats des 2 boucles mélangés et ordonnés
par date !
Justeun couac : les résultats se répètent à l’infini.

Le code de rubrique-9.html :
<B_articles>

#ANCRE_PAGINATION

<:articles_rubrique:>

    #INCLURE{fond=inclure/article-actu,id_article,env}
[

(#PAGINATION)

]

Et celui du fichier inclus 'article-actu.html :

<BOUCLE_articles_rubactu(ARTICLES) {id_rubrique=9} {!titre_mot=invisible} {doublons pour_recap} /><//B_articles_rubactu>
<BOUCLE_articles_mot(ARTICLES) {tout}{type_mot=accueil} {doublons pour_recap} /><B//_articles_mot>

<BOUCLE_recap(ARTICLES){!doublons pour_recap}{!par date}>
<BOUCLE_auteur(AUTEURS){id_article}>

  • [(#LOGO_ARTICLE_RUBRIQUE||image_reduire{200,150}|image_recadre{0,134,top})]

    [(#TITRE)]
    [(#DESCRIPTIF|sinon{#TEXTE|justifier})]
  • Merci encore

    Bonjour,

    Le 8 avril 2013 10:22, NiScal NoPa <niscalnopa@gmail.com> a écrit :

    J'ai bien les résultats des 2 boucles mélangés et ordonnés
    par date !
    Justeun couac : les résultats se répètent à l'infini.

    Je ne suis pas sûr de ce que tu veux faire, mais à quoi sert la boucle
    _articles ?

                <BOUCLE_articles(ARTICLES){tout}{pagination 9}>
            #INCLURE{fond=inclure/article-actu,id_article,env}
            </BOUCLE_articles>

    Est-ce que l'inclusion (hors d'une boucle, donc) ne suffit pas ?

    <BOUCLE_articles_rubactu(ARTICLES) {id_rubrique=9} {!titre_mot=invisible}
    {doublons pour_recap} /><//B_articles_rubactu>
    <BOUCLE_articles_mot(ARTICLES) {tout}{type_mot=accueil} {doublons
    pour_recap} /><B//_articles_mot>

    Ici ce n'est pas utile d'écrire <//B_articles_rubactu> et <B//_articles_mot>

    --
    Beurt

    Très juste, c’était cette boucle

    qui provoquait la répétition :
    <BOUCLE_articles(ARTICLES){
    tout}{pagination 9}>

    #INCLURE{fond=inclure/article-actu,id_article,env}
    </BOUCLE_articles>

    J’ai supprimer l’inclure et mis le code de celui-ci dans rubrique-9.html.

    Y’a tout bon, merci encore.