Creare un semplice Feed Reader con SimplePie e jQuery
lunedì 15 dicembre, 2008SimplePie è una libreria PHP in grado di semplificare notevolmente il recupero e la manipolazione di Feed RSS o, più in generale, di formati XML. È possibile, ad esempio, scrivere poche righe di codice, sfruttando anche qualche "funzioncina" jQuery, per realizzare un News Ticker da inserire nel nostro sito/blog.
Cosa ci serve...
Prima di tutto scaricate SimplePie e inserire, da qualche parte, il file simplepie.inc sul vostro sito/blog. Il codice per leggere e visualizzare un feed è il seguente:
-
/**
-
* SimplePie sample
-
*
-
* @author Giovambattista Fazioli
-
* @web http://www.undolog.com
-
* @email g.fazioli@undolog.com
-
*
-
*/
-
// inserire il percorso corretto
-
require_once ("simplepie.inc");
-
//
-
function wordCut($c, $l){
-
for($i=0; $i<$l; $i++) $r[$i] = $a[$i];
-
return $r;
-
} else return $c;
-
}
-
//
-
$max = 10; // last 10 post/news
-
$thefeed = new SimplePie('http://www.undolog.com/feed');
-
$thefeed->handle_content_type();
-
for ($i = 0; $i <$thefeed->get_item_quantity( $max ); $i++ ) $articles[] = $thefeed->get_item($i);
-
foreach ($articles as $item) echo '<li><a href="' . $item->get_link() . '">' . $item->get_title() . '</a> - '.wordCut($item->get_description(), 10).'</li>';
In questo codice di esempio ho estratto gli ultimi 10 Feed da undolog.com e li ho formattati usando una lista ul/li. Ho recuperato sia il titolo ($item->get_title()) che una parte del contenuto ($item->get_description()). Ovviamente inserite questo codice all'interno di una formattazione HTML di questo tipo:
Veniamo ora alla parte Javascript per visualizzare "a turno", con una semplice animazione, i singoli titoli/contenuto dei feed:
-
// includiamo jQuery tramite Google API
-
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
-
<!-- codice jQuery per animazione delle news -->
-
<script type="text/javascript" src="sample.js"></script>
-
// chiamo initNews() al completamento della pagina
-
google.setOnLoadCallback( initNews );
Nel file sample.js, che potete chiamare e posizionare dove volete, abbiamo:
-
// globale
-
var index_news = 0;
-
//
-
function initNews() {
-
$('div#feed-ticker')
-
.slideDown('slow',
-
function() {
-
$('div#feed-ticker li').eq( index_news ).fadeIn();
-
setTimeout( next_news, 5000 );
-
}
-
);
-
}
-
-
function next_news() {
-
$('div#feed-ticker li')
-
.eq( index_news )
-
.fadeOut(1000,
-
function() {
-
index_news++;
-
if( index_news> $('div#feed-ticker li').length-1 ) index_news = 0;
-
$('div#feed-ticker li').eq( index_news ).fadeIn();
-
setTimeout( next_news, 5000 );
-
}
-
);
-
}
Il risultato finale lo potete vedere su saidmade.com










19

Guarda caso proprio in questi giorni stavo implementando un Feed Reader per la gestione di notifiche da inviare ai clienti di un'applicazione e-Commerce, questa classe in PHP mi velocizzerà molto il lavoro, per impiegarlo poi all'aggiunta di qualche effetto in jQuery.
P.S. Undolog volevo segnalarti un errore sul link a Saidmade.com
@MaiNick:
corretto
[...] Creare un semplice Feed Reader con SimplePie e jQuery SimplePie è una libreria PHP in grado di semplificare notevolmente il recupero e la manipolazione [...]
I took your code and tried to implement it but I am getting errors.
The php code on line 10 in php has
require_once ( "simplepie.inc");which gives me an error.And if I remove the "simplepie.inc", it gives me again an error foe the // in the next line.
Please let me know if I am doing anything wrong.
@manju: You have to download SimplePie library before test your code. Follow the instruction in post.
[...] spunto dal post Creare un semplice Feed Reader con SimplePie e jQuery ho creato il primo Plugin Wordpress targato Saidmade. Flash Feed Scroll Reader utilizza SimplePie [...]