Glider.js et RSS

Fermé
louis1984 Messages postés 341 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 10 mars 2016 - 13 févr. 2010 à 19:55
louis1984 Messages postés 341 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 10 mars 2016 - 14 févr. 2010 à 14:45
Bonjour,

J'utilise le slider "glider.js" sur mon site pour afficher sur chaque slide un article qui vient d'une source externe via plusieurs flux RSS. J'ai en tout 4 slides dans mon slider, et j'aimerais qu'ils m'affichent les 4 articles les plus recents de l'ensemble des flux RSS.

Le probleme c'est que je suis nul en php et que je sais pas comment faire.

Quelqu'un pourrait-il m'aider?

Voici mon code:


<div id="contenu_homepage">
<div id="my-glider">
<div class="controls">
<a href="#article1">1</a> |
<a href="#article2">2</a> |
<a href="#article3">3</a> |
<a href="#article4">4</a>
</div>
<div id="glider-arrow-left"><a href="#" onclick="my_glider.previous();return false;"><</a></div>
<div id="glider-arrow-right"><a href="#" onclick="my_glider.next();return false">></a></div>
<div class="scroller">
<div class="content">

<?php
$urls = array(
'http://www.lemonde.fr/rss/sequence/0,2-3234,1-0,0.xml',
'http://www.lemonde.fr/rss/fil/0,57-0,64-1100142,0.xml',
'http://rss.feedsportal.com/c/499/f/413863/index.rss',
'http://rss.feedsportal.com/c/499/f/413839/index.rss',
'http://www.capital.fr/rss2/feed/fil-bourse.xml',
'http://www.lefigaro.fr/rss/figaro_tauxetdevises.xml' );

$nb_titres_par_url = 4;
$dom = new DOMDocument();
$i = 0;
foreach($urls as $url) { $dom->load($url); foreach($dom->getElementsByTagName('item') as $item) { $i++;

echo "\t\t\t".'<div class="section" id="article'.$i.'">'."\n";
echo "\t\t\t\t".'<h4>'.trim($item->getElementsByTagName('title')->item(0)->nodeValue).'</h4>'."\n";
echo "\t\t\t\t".trim($item->getElementsByTagName('description')->item(0)->nodeValue)."\n";
echo "\t\t\t".'</div>'."\n\n"; if(($i%$nb_titres_par_url) == 0) { break; } } }
?>
</div>
</div>
<script type="text/javascript" charset="utf-8">
var my_glider = new Glider('my-glider', {duration:0.4});
</script>
</div>
</div>


Merci par avance pour votre aide.
A voir également:

3 réponses

louis1984 Messages postés 341 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 10 mars 2016 6
14 févr. 2010 à 09:34
svp aidez moi !!!!!!!!!!!!!!!!!!!!!!
0
louis1984 Messages postés 341 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 10 mars 2016 6
14 févr. 2010 à 10:29
Sur un autre forum quelqu'un m'a donner le code suivant:


<?php
//
// DEBUT CONFIG
//
$cache_expire = 3600; // 60 secondes * 60 minutes (ici 1 heure)
$cache_path = 'cache/les_flux_rss.txt'; // chemin vers le fichier des news mis en cache
$cache_nb_news = 4; // le nombre de news à mettre en cache
$urls = array(
'http://www.lemonde.fr/rss/sequence/0,2-3234,1-0,0.xml',
'http://www.lemonde.fr/rss/fil/0,57-0,64-1100142,0.xml',
'http://rss.feedsportal.com/c/499/f/413863/index.rss',
'http://rss.feedsportal.com/c/499/f/413839/index.rss',
'http://www.capital.fr/rss2/feed/fil-bourse.xml',
'http://www.lefigaro.fr/rss/figaro_tauxetdevises.xml'
);
//
// FIN CONFIG
//

if(!file_exists($cache_path) OR filemtime($cache_path) < time() - $cache_expire){
$tab = array();
foreach($urls as $rss){
$xml = simplexml_load_file($rss);
$rss_title = $xml->channel->title;
$rss_link = $xml->channel->link;
foreach($xml->xpath('channel/item') as $info)
$tab[strtotime($info->pubDate)] = array('titre' => addslashes($info->title), 'lien' => addslashes($info->link), 'titre_flux' => addslashes($rss_title), 'lien_flux' => addslashes($rss_link), 'date' => strtotime($info->pubDate));
}
krsort($tab);
$tab = array_slice($tab, 0, $cache_nb_news);
file_put_contents($cache_path, serialize($tab));
}
else
$tab = unserialize(file_get_contents($cache_path));
?>
<div id="contenu_homepage">
<div id="my-glider">
<div class="controls">
<a href="#article1">1</a> |
<a href="#article2">2</a> |
<a href="#article3">3</a> |
<a href="#article4">4</a>
</div>
<div id="glider-arrow-left"><a href="#" onclick="my_glider.previous();return false;"><</a></div>
<div id="glider-arrow-right"><a href="#" onclick="my_glider.next();return false">></a></div>
<div class="scroller">
<div class="content"><?php echo 'Le '.date('d/m/Y à H:i', $tab[0]['date']).' : <a href="'.stripslashes($tab[0]['lien']).'">'.stripslashes($tab[0]['titre']).'</a> du flux : <a href="'.stripslashes($tab[0]['lien_flux']).'">'.stripslashes($tab[0]['titre_flux']).'</a>'; ?></div>
<div class="content"><?php echo 'Le '.date('d/m/Y à H:i', $tab[1]['date']).' : <a href="'.stripslashes($tab[1]['lien']).'">'.stripslashes($tab[1]['titre']).'</a> du flux : <a href="'.stripslashes($tab[1]['lien_flux']).'">'.stripslashes($tab[1]['titre_flux']).'</a>'; ?></div>
<div class="content"><?php echo 'Le '.date('d/m/Y à H:i', $tab[2]['date']).' : <a href="'.stripslashes($tab[2]['lien']).'">'.stripslashes($tab[2]['titre']).'</a> du flux : <a href="'.stripslashes($tab[2]['lien_flux']).'">'.stripslashes($tab[2]['titre_flux']).'</a>'; ?></div>
<div class="content"><?php echo 'Le '.date('d/m/Y à H:i', $tab[3]['date']).' : <a href="'.stripslashes($tab[3]['lien']).'">'.stripslashes($tab[3]['titre']).'</a> du flux : <a href="'.stripslashes($tab[3]['lien_flux']).'">'.stripslashes($tab[3]['titre_flux']).'</a>'; ?></div>
</div>
<script type="text/javascript" charset="utf-8">
var my_glider = new Glider('my-glider', {duration:0.4});
</script>
</div>
</div>



Le probleme est que ca marche pas... quelqu'un pourrait m'aider a modifier le code pour qu'il fonctionne avec glider.js?

Merci.
0
louis1984 Messages postés 341 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 10 mars 2016 6
14 févr. 2010 à 14:45
Personne?
0