Glider.js et RSS
louis1984
Messages postés
341
Date d'inscription
Statut
Membre
Dernière intervention
-
louis1984 Messages postés 341 Date d'inscription Statut Membre Dernière intervention -
louis1984 Messages postés 341 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Glider.js et RSS
- Tiny tiny rss - Télécharger - Flux RSS
- Rss owl - Télécharger - Flux RSS
- Rss bandit - Télécharger - Web & Internet
- Rss to mp3 - Guide
- Flux RSS et rainmeter ✓ - Forum Programmation
3 réponses
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.
<?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.