Script Flux RSS


twin
WRInaute passionné
WRInaute passionné
 
Messages: 1518
Inscription: 23 Fév 2004

Script Flux RSS

Message le Dim Aoû 19, 2007 17:40

Bonjour à tous,

J'aimerais installer sur l'un de mes sites Internet un systéme de reprise de fluxrss classé par date et non par site.
Je m'explique, j'ai installé :
http://www.webrankinfo.com/analyses/art ... cation.php
J'ai modifié mon feedparser de la sorte :
Code: Tout sélectionner
<?php
// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");

function FeedParser($url_feed, $nb_items_affiches=10)
{
  // lecture du fichier distant (flux XML)
  $rss = fetch_rss($url_feed);

  // si la lecture s'est bien passee,
  // on lit les elements
  if (is_array($rss->items))
  {
   // on ne recupere que les elements les + recents
   $items = array_slice($rss->items,
    0, $nb_items_affiches);

   // debut de la liste
   // (vous pouvez indiquer un style CSS
   // pour la formater)
   //$html = "<ul>\n";

   // boucle sur tous les elements
   foreach ($items as $item)
   {
$date = date("d-m-Y", parse_w3cdtf($item['dc']['date']));
$html .= "$date : <a href=\"".$item['link']."\">";
    $html .= $item['title']."</a><br></li>\n";
//supprimer la description    $html .= $item['description']."</li><br><br>\n";
   }
   $html .= "</ul>\n";
}

// retourne le code HTML a inclure dans la page
return $html;
}
?>


Mon problème ? Les informations sont classés par site. Plus concrétement j'ai actuellement :
Site 1 :
- 15-05-2007 : Mon actu 1 de mon site 1
- 20-05-2007 : Mon actu 2 de mon site 1

Site 2 :
- 16-05-2007 : Mon actu 1 de mon site 2
- 23-05-2007 : Mon actu 2 de mon site 2

Et je souhaite avoir un affichage de la sorte (par date) :
- 15-05-2007 : Mon actu 1 de mon site 1
- 16-05-2007 : Mon actu 1 de mon site 2
- 20-05-2007 : Mon actu 2 de mon site 1
- 23-05-2007 : Mon actu 2 de mon site 2

Est-ce que quelqu'un peut me filer un coup de main ? Ou alors me conseiller autre chose que MagpieRSS ?

Merki d'avance ;)


Monty973
WRInaute passionné
WRInaute passionné
 
Messages: 1635
Inscription: 21 Mar 2006

Message le Dim Aoû 19, 2007 18:33

Une solution de facilité pourrais être de passer par un aggrégateur externe comme Yahoo! pipes : http://pipes.yahoo.com/pipes/

Tu aggrèges les sites que tu veux syndiquer, ils ressortent triés par dates dans le flux généré par pipes, et tu récupères ce flux pour l'affichage sur ton site.

Adonfff
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 49
Inscription: 16 Oct 2006

Un peu de bidouillage

Message le Dim Aoû 19, 2007 18:57

Il y'a 2 possibilités :
Avec PHP, tu joins les 2 tableaux (array des flux, array_merge() ou +) puis tu fais un tri par date (sort) et tu passes ce nouveau tableau en argument $item.

Sinon, passe par javascript pour trier le tableau affiché :
http://kryogenix.org/code/browser/sorttable/

Je me demande si les transformations XLST ne seraient pas plus appropriées pour traiter des documents XML ?


twin
WRInaute passionné
WRInaute passionné
 
Messages: 1518
Inscription: 23 Fév 2004

Message le Lun Aoû 20, 2007 7:05

Je viens d'essayer les pipes de Yahoo, je pense que sa peut-être intéressant, d'autant plus que cela ne fait pas ramer mon serveur !

Je me demande si les transformations XLST ne seraient pas plus appropriées pour traiter des documents XML ?

C'est à dire ? Je ne suis absolument pas compétent dans ce domaine...si tu as plus de précision à me fournir, je suis preneur ! ;)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités