Mélanger articles et flux RSS / articles syndiqués

Bonjour,

J'ai référencé un site dans une de mes rubriques. Dans cette rubrique, je
stocke par ailleurs des articles locaux. Je souhaite afficher les articles
syndiqués et locaux dans une même boucle, triés par date. Comment faire ?
J'ai lu la contrib' Mélanger et trier des éléments hétérogénes
<http://www.spip-contrib.net/Melanger-et-trier-des-elements>. Sans succès.

D'avance...

GS

Tu sélectionne d’abord l’article de ta rubrique le plus récent, puis tu regardes si il y a des articles syndiqués plus récent que lui avec age_relatif et si c’est le cas tu affiches ces articles syndiqués. Puis tu recommences l’opération avec l’article suivant (le 2eme plus récent) et ainsi de suite avec tous les articles de la rubrique.
Pour finir, tu affiches tous les articles syndiqués qui n’ont pas été affiché (parce qu’ils sont plus vieux que le plus vieux des articles).
Le critère doublon te permet de ne pas réafficher deux fois un article syndiqué.

<BOUCLE_syndic_articles_yoh(SYNDIC_ARTICLES){id_rubrique}{age_relatif<0}{!par date}{doublons artsynd}>
[(#_syndic_articles_yoh:TITRE|supprimer_numero)]
</BOUCLE_syndic_articles_yoh>

[(#_article_yoh:TITRE|supprimer_numero)]
</BOUCLE_article_yoh>

<BOUCLE_syndic_articles_yoh2(SYNDIC_ARTICLES){id_rubrique}{!par date}{doublons artsynd}>
[(#_syndic_articles_yoh2:TITRE|supprimer_numero)]
</BOUCLE_syndic_articles_yoh2>

Georges Saunier a écrit :

Salut,

Désolé, pas mal de boulot : je ne te réponds que maintenant. Merci pour le bout de code. J’ai un peu de mal à comprendre le fonctionnement, j’ai quelques problèmes avec le tri, mais je pense que j’ai là un bon début pour m’en sortir. Merci !

Bien @ vous,

GS.


De : imap [mailto:vprono@gmail.com]
Envoyé : dimanche 23 novembre 2008 22:20
À : Georges Saunier
Cc : spip@rezo.net
Objet : Re: M?langer articles et flux RSS / articles syndiqu?

Tu sélectionne d’abord l’article de ta rubrique le plus récent, puis tu regardes si il y a des articles syndiqués plus récent que lui avec age_relatif et si c’est le cas tu affiches ces articles syndiqués. Puis tu recommences l’opération avec l’article suivant (le 2eme plus récent) et ainsi de suite avec tous les articles de la rubrique.
Pour finir, tu affiches tous les articles syndiqués qui n’ont pas été affiché (parce qu’ils sont plus vieux que le plus vieux des articles).
Le critère doublon te permet de ne pas réafficher deux fois un article syndiqué.

<BOUCLE_syndic_articles_yoh(SYNDIC_ARTICLES){id_rubrique}{age_relatif<0}{!par date}{doublons artsynd}>
[(#_syndic_articles_yoh:TITRE|supprimer_numero)]
</BOUCLE_syndic_articles_yoh>

[(#_article_yoh:TITRE|supprimer_numero)]
</BOUCLE_article_yoh>

<BOUCLE_syndic_articles_yoh2(SYNDIC_ARTICLES){id_rubrique}{!par date}{doublons artsynd}>
[(#_syndic_articles_yoh2:TITRE|supprimer_numero)]
</BOUCLE_syndic_articles_yoh2>

Georges Saunier a écrit :

Bonjour,

J'ai référencé un site dans une de mes rubriques. Dans cette rubrique, je 
stocke par ailleurs des articles locaux. Je souhaite afficher les articles 
syndiqués et locaux dans une même boucle, triés par date. Comment faire ? 
J'ai lu la contrib' Mélanger et trier des éléments hétérogénes 
[<http://www.spip-contrib.net/Melanger-et-trier-des-elements>](http://www.spip-contrib.net/Melanger-et-trier-des-elements). Sans succès.

D'avance...

GS 

  

---

_______________________________________________
liste spip
[spip@rezo.net](mailto:spip@rezo.net) - désabonnement : [spip-off@rezo.net](mailto:spip-off@rezo.net)

Infos et archives : [http://listes.rezo.net/mailman/listinfo/spip](http://listes.rezo.net/mailman/listinfo/spip)

Documentation de SPIP : [http://www.spip.net/](http://www.spip.net/)

irc://irc.freenode.net/spip ou [http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip](http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip)
  

Pas de soucis, j'ai pas mal galéré avant de comprendre comment ça marche.

A ma connaissance, SPIP n'ai pas fait pour mélanger des éléments venant de tables différentes dans la base de données.

Pour pouvoir le faire quand même, tu es obligé d'utiliser un champs commun pour les trier: en l'occurence celui de la date (c'est le seul possible).

Cela a comme inconvénient :
- Un code assez lourd (multiple interrogation de la table) donc lent.
- L'impossibilité de paginer : d'ou une énorme difficulté à limiter le nombre d'éléments qui s'affiche (tu es obligé de faire un système en rapport avec la date)
Exemple : rajouter le critère {age<30} à la 1er (_article_yoh) et 3eme (_syndic_articles_yoh2) boucle permet de limiter l'affichage sur ce qui est apparu dans le mois mais en aucun cas de déterminer précisément combien d'articles ou d'articles syndiqués vont s'afficher.

Je te redonne la logique :
Tu sélectionnes l'article le plus récent, tu regardes si des articles syndiqué sont plus récent (avec age_relatif) et tu les affiches puis tu affiches cet article; tu sélectionnes l'article suivant ......
La 3eme boucle permet d'afficher les articles syndiqués qui sont plus vieux que le plus vieux de tes articles.

Bon courage

Georges Saunier a écrit :

Salut,
Désolé, pas mal de boulot : je ne te réponds que maintenant. Merci pour le bout de code. J'ai un peu de mal à comprendre le fonctionnement, j'ai quelques problèmes avec le tri, mais je pense que j'ai là un bon début pour m'en sortir. Merci !
Bien @ vous,
GS.

------------------------------------------------------------------------
*De :* imap [mailto:vprono@gmail.com]
*Envoyé :* dimanche 23 novembre 2008 22:20
*À :* Georges Saunier
*Cc :* spip@rezo.net
*Objet :* Re: M?langer articles et flux RSS / articles syndiqu?

Tu sélectionne d'abord l'article de ta rubrique le plus récent, puis tu regardes si il y a des articles syndiqués plus récent que lui avec age_relatif et si c'est le cas tu affiches ces articles syndiqués. Puis tu recommences l'opération avec l'article suivant (le 2eme plus récent) et ainsi de suite avec tous les articles de la rubrique.
Pour finir, tu affiches tous les articles syndiqués qui n'ont pas été affiché (parce qu'ils sont plus vieux que le plus vieux des articles).
Le critère doublon te permet de ne pas réafficher deux fois un article syndiqué.

<code>
<BOUCLE_article_yoh(SITES){id_rubrique}{!par date}>

                  <BOUCLE_syndic_articles_yoh(SYNDIC_ARTICLES){id_rubrique}{age_relatif<0}{!par date}{doublons artsynd}>
                    [(#_syndic_articles_yoh:TITRE|supprimer_numero)] </BOUCLE_syndic_articles_yoh>

[(#_article_yoh:TITRE|supprimer_numero)]
</BOUCLE_article_yoh>
     <BOUCLE_syndic_articles_yoh2(SYNDIC_ARTICLES){id_rubrique}{!par date}{doublons artsynd}>
[(#_syndic_articles_yoh2:TITRE|supprimer_numero)] </BOUCLE_syndic_articles_yoh2>
</code>

Georges Saunier a écrit :

Bonjour,

J'ai référencé un site dans une de mes rubriques. Dans cette rubrique, je stocke par ailleurs des articles locaux. Je souhaite afficher les articles syndiqués et locaux dans une même boucle, triés par date. Comment faire ? J'ai lu la contrib' Mélanger et trier des éléments hétérogénes <http://www.spip-contrib.net/Melanger-et-trier-des-elements&gt;\. Sans succès.

D'avance...

GS

  ------------------------------------------------------------------------

_______________________________________________
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 ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip